skysight-inc/HackerNews huggingface dataset:
> Everyone who wanted to do basic things like read input or write output would have to understand how option type, in addition to discussion of what templated types are

I don't necessarily think that's a bad thing. Something that may be null is already an option type. It's "some T or null". Making the compiler force you into checking which it is, is no difference from checking for the presence of null. There is literally no difference in complexity - it's actually simpler because you don't have the cognitive overhead of remembering where a certain variable has and hasn't been null checked (After a null check, your variable has magically changed type to "some T, definitely not null".)

x = getsomething
if x != nil
dosomething(x)

and

x = getsomething
if x.hasvalue
dosomething(x.value)

The programmer alone has to remember this - remember to check, and the status of each variable that can be null. Was x checked before? scroll up to see...
Add 10 variables and some nested ifs and ask the programmer which variables can and can't be null at any given place. This is the job of a compiler, not a programmer. And if my experience is any guide, the less experienced programmers, which are the ones we are discussing now, would be happy to have 100 locals or 12 levels of nested ifs in a method. They need this added help more than the people who ask for it.
AppArmor is like SELinux though: it's annoying so people just turn it off. Most recent example I encountered was on Ubuntu 1604; I wanted to run VMs under QEMU/KVM with libvirt but AppArmor was preventing the VM from using a USB device from the host. Just by chance I took a look at dmesg and saw some audit message about qemu bridge helper.
I looked at using AWS Elasticsearch Service for a project but had to back out due to the lack of plugin support. Running elasticsearch yourself, even in a HA setup is actually fairly easy.
What a sad idea.

Seriosuly, is that hard to learn Emacs Lisp? Even if one is using Go or Rust (etc) at work, any programmer worth his salt should at least already be familiar with Lisp syntax.

It is one of the easiest languages to learn!!
So that is the point. Go design doesn't allow these complexities, so there will be no confusion when one should use them and when not. This somewhat limiting, of course, but turns out it's not the end of the world, benefits may outweigh the limitations. If you really need those, C++ is always available to you.

edit: missed a word
There's a shop like this in Berlin called Leila (for Leihladen). I very much hope that this idea takes off. Ideally this would not have to be a private enterprise, but could be an extension of the public library systems like it is done in some places in Finland: http://finland.fi/life-society/finnish-libraries-offer-new-a...
Yeah I wasn't taking phone screens into account. I'd edit my comment to clarify that I was thinking of in-person interviews, but the timeout has elapsed.

I think I disregarded HR screens because the questions (IME, at least) are often so trivial the experience of the interviewer doesn't really matter. There have been a few times when I've disagreed with a screeners pre-defined answer, but none of those cases resulted in a rejection or a halt to the interview process.
The difference there is that Bill Gates was not already married. The difference there is that the role of product manager is much more skilled than the position of secretary. A product manager has the freedom to take the lead on big projects. A secretary is such a submissive and typically gendered role that companies have started to shy away from using the term at all. Now they are opting for "assistant" instead, implying a more equal footing between the employer and the employee.
"Dime and quarter" is awkward -- it's a benefit to have the smallest positive difference between any two piles of coins to be a coin value. Either get rid of the dime, or replace the quarter with a 20 and/or 50 cent piece.
Wouldn't that make it (even more) trivial, since you can just traverse from the tail backwards? Assuming it has a tail pointer, of course.
From the letter quoted at your link:

> You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat.

[Emphasis added.]
I'm interpreting "Teaching language" to be the first language students learn. How can one explain the need for monadic IO properly without explaining how regular printf and the like work. Also, Haskell is quite scary to the beginner (Although I personally find it much simpler/more consistent than the Java and C++)

If it's (say) the third language they learn, then Haskell is absolutely perfect for the exact reason/s you have stated. Personally, I actually learnt Haskell by accident (Read SPJ's book about lazy functional language implementation, realized SPJ started Haskell then learnt more from there).
>recommends to avoid [...] template metaprogramming,

Fyi...the Google style guide doesn't ban generics/templates. It's discouraging the "template metaprogramming" which is a technique beyond parameterized types (generics) ... e.g. using recursion in Turing Complete template programming to calculate compile-time values.

If we're talking about just generics, here's example code from Google Inc's sparsehash: https://github.com/sparsehash/sparsehash/tree/master/src/spa...

It uses generic type parameters. If you ask the author if the library would have been easier and "less complex" to write if generics language feature were removed from C++, I think we'd be certain the author would say "no."

Even without asking the author, if anyone believes the library is suffers "simplicity debt" because it uses generics, they can fork the code, rewrite it, and then prove to skeptics that the hashing library was much clearer and more maintainable without generics.
May he rest in peace. As a user of a Debian derivative I am thankful to him.
That. I have a full talk based on that coming for the Elixir community.
The final probability of A being released is indeed 1/3.

The second part of the article just attempts to nail down the specific fallacy in A's reasoning, which is also helpful in explaining the Monty Hall problem (which makes the guard's orders implicit rather than explicit)
Anecdotal, but Uber has a social stigma with a lot of my left-er friends.
Android Studio relies on OpenSSL 1.
I've heard from multiple people teaching Haskell that it's much easier to grasp for people with no prior programming experience compared to those with one or more languages under their belt. It makes sense on some level - core Haskell is about taking plain data and transforming it into something else. Much easier to explain than public static enterprise beans. I think that learning Java/Python/JavaScript/C#/PHP as a first language burdens you with too much baggage, while a lot of what Haskell teaches can be successfully applied regardless of what language you end up working with.

It's truly unfortunate that Haskell got the reputation of being mainly about monoids in the category of endofunctors, and zygohistomorphic prepromorphisms. The core principles are simple, solid, and lend themselves well to writing production code.
How Student Debt Reduces Lifetime Wealth
They have fixed most of the stability issues in 5.x. I suspect some of the problems people have had with AWS ES is actually using a pre-5.x version.
edit: I didn't even notice the "rails" until after I wrote this. My brain filled in "ruby". I agree that java vs rails is stupid.

I love the compare/contrast style of questions between languages. I try to not phrase it as "pros and cons" however. What I'm looking to see is the breadth of their knowledge and what insights they've picked up from hard earned experience. Also, showing the ability to think critically about different tools demonstrates that they understand when a hammer is appropriate vs a screwdriver.

I don't care what they think is better or worse, I want them to show me that they've traveled the world, so to speak.
Which they're doing anyway. It might not improve the situation, but it can hardly make it worse.
Ask HN: (How) have you arranged for maintenance of projects after you're gone?
So many projects (software, documentation, websites) are dependent on a single maintainer. In some cases, handing off continued maintenance posthumously would be extremely difficult unless arrangements have already been made to hand off various keys and passwords.

Have you made such arrangements? What does that look like?
> I really have a hard time understanding why people would intentionally do that to themselves.

My guess is that's because you are not seeing the world through their eyes.

It is not difficult to get trapped in a situation like this. For example, they fall for the "be your own boss" or "Uber drivers make tons of money" propaganda, quit their job and start driving for Uber.

Suddenly they are in a situation that they have to keep driving 16hours a day just to bring food to the table for their family, which leaves no time or energy to re-skill or find another job.

Yes, they "caused this to themselves" by making the decision in the first place, without weighting things. But probably they didn't know better. Shouldn't we be a bit more sensitive to their situation?
Antithetical and immoral (immoral as in "violates ethical principles")
I mostly agree with you, but I there could be an argument being made for C++- the generics there are done through templating, and I've seen people froth at the mouth about the complexity of C++'s template metaprogramming.

I agree though with your initial reaction to Go and generics- it seems strange to argue not to include generics due to complexity when the alternative is either type assertions from interface{} types, code generation through some sort of [preprocessor](https://github.com/cheekybits/genny), or copy-pasting code. All of these are more complex than a simple generics implementaton! Golang could even include some sort of generics less complex than Java since it wouldn't have to worry about co vs contra variant types, and Java's generics aren't that hard to work with.
I know nothing about it. Can you link me to some good examples?
Homebase's ant killer powder sucks
Laser cutters are so easy to screw up, but also so easy to maintain. Unfortunately the former is easier than the latter.
"PR black ops" against Uber would probably consist of "smack down any Lyft people who approach 10% of Uber's public idiocy quotient," plus finding some charities to support, maybe something involving kittens and puppies.
Vir was possibly my favorite character on B5. I'm going to have to go watch the whole thing again.
I don't think your comparisons are constructive.

I learned vim first and later switched to Emacs because it allows me to integrate all tasks in the same work environment. The defaults are admittedly terrible and it's certainly far from perfect. But I don't see any alternative that works better for the things that I use Emacs for. I am looking forward to eventually be using Guile instead of Elisp, though.

Curious that you mention the UI as a negative(?) --- the Emacs UI is pretty good actually and it's very extensible.
I don't think Debian needs to choose. Debian will keep using deb/dpkg as flatpak and snap are not intended to replace a distro's main packaging. They are supplements so users can get newer packages directly from upstream developers. Note that Debian 9 already supports both flatpak [1] and snap [2]. Because of the way snaps/flatpaks are isolated from the rest of the system, they can coexist without issues.

I thought the creators of snaps/flatpaks would be upstream developers, so they themselves will vote on the package management system by using either. There is no duplication of effort here.

Myself I prefer AppImage [3], because of its simplicity and the fact that they are already supported on all Linux distributions, without installing any explicit support.

[1]: https://packages.debian.org/stretch/flatpak

[2]: https://packages.debian.org/stretch/snapd

[3]: http://appimage.org
Show HN: [NSFW] My First Website: Random Pr0nz
As above, it uses known standards.

The weakest link is your password, relevant XKCD: https://xkcd.com/538/
Project: Building a Small Programming Language: Eloquent JavaScript
Is this technology good enough to prevent quantum computing attacks on blockchain?

Disclaimer: I have bought a couple of QRL over the past couple of days. My intent is to understand whether the tech is good enough.
I have read dozens of articles like this and as a developer, it would be great to work at a place like that: WFH option, non-open plan layout / 4-man offices. But the people who want that are rarely the ones in a position to implement that sort of environment. So nothing ever changes.
Some people also use "rent" for buying an item and returning it before the store's "no questions asked" return period expires.
I disagree. The BSD's surely meet your definition of "large open source projects being driven by unpaid volunteers" and I argue they are not only viable but the longest running if not largest open source projects ever.
To be fair, it looks like it could use a bit of refactoring.
I'd develop some apps
I can buy using generics sparingly (especially in the form of complex template metaprogramming). But never using it at all? Can you imagine convincing the C++ community to give up Boost because its use of templates is too complex?

They also seem to admit that if they were to do it over again and start from scratch they'd use exceptions:

> Things would probably be different if we had to do it all over again from scratch.
No universally no. Countries that have shoot in sight poaching policies have very low poaching rates.
That's what I do. If I need a tool temporarily, I just get it from eBay or Craigslist, and then unload it. I often make money when I resell. It's not much, but all in all I essentially rent things for free. This doesn't work for things that are very expensive, but for anything below a few thousand dollars, this will save you a ton of money.
If the transaction is no longer worth it to you, you are free to walk away from said transaction.
That's hilarious because to me Kleenex sounds highfalutin, and tissue sounds normal.

And I actually use Kleenex brand!
> every non-jr programmer should at least be able to talk about the technical and business merits of using one vs the other.

So there is no place in this world for a senior programmer who isn't particularly familiar with those two languages?

Why are they so special?
Enhancing the Security of the OS with Cryptography in Red Hat Enterprise Linux
> I consider Ruby a far superior language

Have you looked at the C source of Ruby? :) In terms of that, Python is far, far superior to ruby.

EDIT: to clarify, CPython is much cleaner than MRI, and has a much-better-documented API for extensions. This is what I believe part of the reason that Python has a much better coverage for scientific packages.
Currently, no.
Hope I get your question right..

Name mangling scheme preserves fully qualified package path.
All goism sources live inside GOPATH (1), so nothing stops us from implementing a jump to Go definition.

For given `goism-foo/bar.baz` Emacs symbol,
Go definition can be found in `GOPATH/src/foo/bar/` package.
Exact location can be found by using existing Go tools (simple grep-like solution can work, too).

(1) It can change in future; see https://news.ycombinator.com/item?id=13368846
and even more relevant: https://github.com/golang/go/issues/17271
> Why is it that market prices are fine for all of those factors but not for labor?

Huh, I don't understand that? It's clear that the problem is that the market price for farm labor is extremely low.
This were his last tweets if you really want to know the context... https://pastebin.com/yk8bgru5
If you look at the bottom of the first page, you'll see it's a play on this: “What this country needs is a really good five-cent cigar.” T. R. Marshall (US Vice-President), New York Tribune, January 4, 1920
An attacker is only ever RCE on one server away from being on your VPC subnet. You're going to have to set up authentication for internal applications anyway, although I suppose vulnerabilities in the login process are harder to exploit if you can't even get to it.
THE LATEST FLYING CAR CONCEPT SEEMS–DARE WE SAY IT–SERIOUS
How do I get a part-time Silicon Valley salary for a part-time job remotely? I would love to. Please let me know who would be interested in hiring me in these conditions.
You don't say "taxi"? It's just as short, starts with a consonant, not ambiguous,
translates between cities, is obviously generic, doesn't give mindshare to a nasty company and contains the letter "X"...

The only downside I can come up with is that "taxiing to" is more awkward to say than "ubering to". As Calvin says, though, "Verbing weirds language."
Keybase chat: iPhone and Android betas
Two tiny cockroachs caught in mag
HN-the-original hasn't survived the onslaught. It used to be a business + tech forum, with about a third of the articles being relevant to the business side of startups. Now it's a hacking + politics + general interest forum (no doubt due to changing 'Startup News' to 'Hacker News' and adding time). HN is managing, but it's had to pivot to do so.

For example, it used to be that an article about hiring was about the business side; how to remunerate, how to obtain the best-bang-for-your-buck. These days it's about the employee side; how scummy employers are, how they're all clueless about interview process, how to job-hop, even a little bragging about salaries.

Gone are the days of articles about A/B testing, and here are the days where there's usually a few NYTimes articles on the front page.

> maybe requiring civility at all times is the only way to have a meaningful discussion.

In larger forums, yes, but not in smaller forums.
> This is one of the funnier paragraphs that I have ever read. You have a great voice for satire!

You are very good with satires too!
Or perhaps this is a clash of generations? your quote doesn't look like satire to me.
Python is slightly less powerful but is pretty fine for many tasks, and much easier to learn than Ruby, with a consistent syntax. So you can quickly learn it and then spend the rest of the day focusing on getting things done.
Overcoming iOS dictionary API limitations by reimplementing NSLinguisticTagger
What does cutting down trees have to do with making stone heads?
I'm still using the GNU system as my OS :) But Emacs is a very important "sub-environment" in my OS; it has a very privileged position in the process tree, much like a browser.

Emacs lacks a couple of features and I think it's fair to say that this represents a limit, but I don't see "the rest of world [...] moving forward" in this area. I don't know of any other system that is as ambitious as Emacs, a system that embraces the overflowing kitchen sink and isn't content with just being called an editor.

Out of the box it's terrible, I give you that. Clunky and dated are too nice for describing the defaults. But underneath the extremely conservative and curmudgeon defaults lies a very flexible environment that cannot be approximated with a set of text applications running inside a terminal emulator. It's a pale shade of the same colour that made Lisp Machines so attractive.
A couple solutions: one man offices, working from home.
FWIW, both Switzerland and Japan have coins that are about $5 (5 CHF = $5.14 and ¥500 = $4.5 right now).
For uk students Facebook is almost a requirement of the social life. Few people have other contact lists, if you aren't on Facebook you can't be contacted. Event invitation is done through Facebook - the event is rarely advertised elsewhere nor is it a deliberate topic conversation.

The few people I knew who didn't use Facebook at uni ended up using it through others whether they are were willing to admit it or not.
I agree that template metaprogramming can get overly complex. I think it would probably be a mistake to bolt a full C++ template metaprogramming system onto go. But just a standard generics system like Java's would go a long way to improving the language.
So the consulting firms are the ones being shaken down? Or what? I don't see how that's a "shakedown" for the company as if they are in compliance there's no need for them to pay for the "consulting shakedown" for better treatment. Unless you are talking at a systemic level where, in order to compete, companies HAVE to operate out-of-compliance and use these consulting arrangements in order to prevent being exposed.
A pizza chain created by a former Starbucks exec should worry big chains
Escape from systemd Episode II: Init versus the service management daemon
Where I work, I deal with call processing (the stuff that happens when a call is made between two phones). If I were doing an interview, I might ask "We now have to deal with SIP, which means dealing with SIP messages, which are text based. We use C and C++ in this department, but we're open to other languages depending upon ease of integration. Which languages and libraries would you use to parse SIP messages, and why?"

It's a problem we face (or rather, faced and solved [1]) unlike reversing a linked list (or implementing a Red/Black or AVL tree or sorting data).

[1] Lua (very easy to integrate with C and C++) and LPeg (for parsing text).
http://mtcb.pwop.com/
The Next Generation of Pizza Is Descending Upon New York
Was referring to company kickbacks (rebate) not personal profit
So what do you do with Bob when he re-registers as Dave?
I think what the parent comment said stands quite well on its own without being reduced to a "Fuck _____" soundbyte.
That movie is intended more as a parody or farce. If you expected a serious movie, it would be disappointed. Although its been a long time since "action" movies were serious.

https://en.m.wikipedia.org/wiki/Farce
Sure, but my point is that it really doesn't matter when everything is unfamiliar. Imagine I put you into a situation where you're using piper, bazel, gflags, and protobuffs instead of git, make, argparse, and json, its going to take time to get your bearings no matter what. You'll have to figure out 2-3 new syntaxes.

Sure, you can limit scope, to things with 1-2 files where everything is handled for you and no data transfer between systems, building, or commiting required, but then we're getting into a class of problems where your limited to relatively simple, logical issues with very well defined APIs, a class of problems that data structures fit very, very well.
> Go design doesn't allow these complexities,

Go allows a wide range of complex metaprogramming through reflection, struct tags, ... to say that Go is void of that kind of garbage is lying.

Go also has a bunch of weird rules regarding type conversion and assertion, its type system isn't covariant... Go has its share of problems, so much that go maintainers themselves keep on introducing type unsafe API in their own std lib. Go has a type system problem, period.

Finally all platforms supported by Go aren't first class. Windows doesn't support Go plugins or Go shared libs AFAIK for instance.
Akruto
Mapping electoral finance in the US presidential election using graph theory
What My Obsession with Voice-Enabled Music Players Says about the Future of Tech
Shady decisions could be anything, this is specifically alleging bribery and corruption.
Pandora’s \hbox: Using LuaTeX to Lift the Lid of TeX Boxes