skysight-inc/HackerNews huggingface dataset:
You are good, if you question and revisit your assumptions on a regular basis, because you instinctively know, that there is a simpler and cleaner approach - it is just (with good reason) buried under business matters and deadlines.

If some % of changes you make to your code are towards a simplification, I believe you are on the right track.

Not so good programmers fix their assumptions (because they need some ground to stand on) and then let a project ossify - these become legacy systems, burden, technical debt, and so on.

Another angle: A good programmer will save you from problems you didn't even know you are going to have (and you will probably never noticy it, because she or he will have your back).

Yet another take: A good programmer will find a solution to a program which is either perfect or not perfect but so clear, that another person can use it as a basis for a better solution. A good programmer shortens the way to the things you want to achieve, in any way (perfect solution, good solution and clear problem picture, communication, better documentation, explanation, more performance, rethinking, disruption, calm night shifts, and so on).

Besides: Programming and development is actually very hard, many brilliant and curious minds haven't searched for another occuption after they started programming.
This is interesting to hear. I thought Zed's book on C programming was reasonably good but I lost an awful lot of respect for him with his strange and nearly incomprehensible tirades against Python 3.
18,500 dead for a single weather event is a disaster by any measure.

Additionally the 2011 Fukushima reactor failure is the worst nuclear accident since Chernobyl which means it is the second (or third) worst nuclear accident in history. [0]

What do you mean by "the disaster, in context, wasn't the biggest deal that day"?

I'm not trolling. I honestly cannot understand what you are trying to communicate.

Are you diminishing the magnitude of the disaster? If so, you haven't yet presented anything to warrant the designification of the tsunami and subsequent Fukushima reactor failure.

[0] http://www.ucsusa.org/nuclear-power/nuclear-power-accidents/...

EDIT: Add link and parenthetical "(or third)".
Context is everything. If you come in the middle of a topic about declaring a bog-standard map and start discussing the subtleties of const, container design and the map implementation you will confound people and are frankly off-topic. :)

I mean the discussion was about declaring a simple map. In that context, it really is as easy as writing

const std::map<int, bool> map;

Go can't do that. C++ can do that. Seems pretty straightforward.
Besides just making it hard to overdose on sugars it also slows down digestion to soften the blow, can even reduce amount absorbed at all.

More info https://intensivedietarymanagement.com/fibre-reduces-insulin...
Low carb or not, I can't believe eating 40+ eggs a week is healthy. Balance it out, yo! Plus, while I like eggs (a lot), they do get boring after a while. There are only so many different ways to prepare them.
The fibre in fruit allows a signal to stop eating to be sent to the brain. The fibre doesn't make the sugar good, but you will stop eating when you're sated and so consume less sugar. No such signal is sent when drinking sugary drinks, so it's more likely you will consume more sugar.
Because of existing C++ code. Most languages only have a C FFI - not C++. With Coffee++ you can just mix C++ and Coffee++ source files.
Just anecdotally, my 2013 dual-core i5 (1.3GHz) Macbook Air seems to run smoother and faster than a majority of the "new" PC laptops I deal with. I'm not sure if it's OS X or the hardware, but for a four year old machine I wouldn't trade it for any new PC laptop.
>It is linguistically guaranteed to be non-mutating - const-casts excepted of course.

Technically even after const-casting, if it was declared const then it's still not possible to mutate it, as doing so is undefined behaviour. "Modifying a const object through a non-const access path and referring to a volatile object through a non-volatile glvalue results in undefined behavior." - http://en.cppreference.com/w/cpp/language/const_cast

It could for instance have been stored in non-writable memory, so any attempt to write to it will instantly segfault. This is one of my favourite things about C++ as people engaging in terrible programming practices like const-casting a const object get their just desserts, so to speak.
I can't imagine how this felt when it came out the other end. Ouch.
Do you have a subscription to that? I was only able to read the first paragraph but it mentioned resistance to insulin which I thought is different than temporarily causing your insulin levels to rise from consuming a sugary drink or eating a high carb food like rice. I'm really interested to know if drinking something with sugar alcohol,aspartame, or sucralose causes insulin level spikes like sugar does.
"Programming" is easy. You pick a language, learn a set of rules, and over time learn how to tell the machine what you want it to do in that language fairly well.

Software development is hard. Unlike many other building tasks that humans run into, software is rarely "done". Launch of software for most of us means the code we've written has just been promoted to a point where now it's important, and will likely be what we work on for the near term future.

So, what makes a good software developer? Generally, programming's the smallest part of that puzzle. Working effectively with others ranks up there. Business acumen. Communication skills, both written and verbally. Understanding release cycles, revision methods, standards, etc. All the things that developers don't want to care about because they aren't writing code, those are the things that make good software developers.
4 Startup Survival Lessons Lead to Business Success
Slower intake rate. Much like your liver can metabolize an oz of alcohol per hour in perpetuity (well, until liver cancer sets in) and you won't even get drunk, but trying to drink 100 oz all at once every 100 hours will promptly kill you. So the theory is slapping your blood and insulin system with the equivalent of 20 apples in a single impulse will mess with your insulin levels and fat storage rates much more than slowly sipping it in, by having chunks of apple take hours if not an entire day to digest.

Sipping a glass of apple juice over the course of an entire day would probably be healthier than slamming it in one gulp, however your dentist probably wouldn't approve. Speaking of dentists, scrubbing the flat surfaces of my teeth by grinding carrots for awhile in my mouth should lead to fewer dental issues than soaking my teeth's plaque layer in completely liquid acid and sugar.

There's also the fairly obvious issue that given the choice of 100 grams of apple fructose or 50 grams of fructose plus 50 grams of inactive fiber, obviously the raw fruit will provide fewer calories for a given subjective level of fullness. I know I'm eating junk food when I juice, but sometimes its fun and it certainly is tasty, and it never fails to amaze me how it takes half a bag of produce to generate a cup of juice. Most of the calories in that bag are in my cup of juice. A normal snack for me is a couple carrots, but I can turn five pounds of carrot calories into a (very large) cup and slam it.

Possibly your body can survive having the liquid sugar of 25 apples slammed into it instantly, every day. Certainly we never evolved to eat that way, so if we can handle it without sickness, its just good luck as opposed to evolutionary pressure. Our ancestors digested a lot of citrus very slowly one piece at a time, there was strong evolutionary pressure to thrive eating a piece of fruit per meal.
Speaking of Node in the context of error handling, what are current best practices in Node (other than running node-forever respawning)? Up to v0.12, Node used to have heuristic cleanup code for file handles and other resources on exception domain error handler execution, but the domain API has been deprecated for some time now ([1], [2]).

[1]: <https://nodejs.org/api/domain.html>

[2]: <https://github.com/nodejs/node/issues/66>
Depending on your language, proper syntax highlighting (without parsing the entire program) is nearly impossible.

For example, in C, what highlight category do you give to '*c'? A declaration, a dereference, or a multiplication call?

In Lisp, is the first element of a list a macro or a function (or a value)? If there's a reader macro, it gets even harder.
Couldn't agree more. In my current life as a Ruby dev I've found the dry-struct (http://dry-rb.org/gems/dry-struct/) library a huge help in getting some level of sanity when dealing with converting inputs to data types. It also helps being able to reason about the inputs structure outside of just looking at some hash field indexing at time of use.
Water absorbs radiation really well. https://what-if.xkcd.com/29/
If you're referring to Related Issues, yeah. It's available only in Enterprise Edition Starter and Enterprise Edition premium.

If you're interested, you can take a look into how we determine which feature is EE - https://about.gitlab.com/stewardship/
> "At that point, anyone who currently has bitcoin gains the same amount of BCC, while retaining their BTC."

This is quite important, because it means that all Bitcoin holders effectively are given BCC for free, which they can sell on an exchange. Thus, the BCC market risks an immense flood of BCC sellers who very suddenly earned a tidy profit out of nowhere, which could crash the BCC price completely, because the market is so shallow, relative to the BTC markets.

In fact, I think this is quite likely to end up being the death of BCC: a constant sell-pressure from BTC-cum-BCC holders, who just want to cash out in dollars. This can end up forcing market makers out of the BCCUSD market, because they can't risk holding too much BCC with a constant sell-pressure like that.

The BTCUSD market has grown from a small stream to a small river and, when the BCCUSD market opens in earnest, this small BTCUSD river will be connected to the tiny stream that is the freshly born BCCUSD market.
Ask HN: Legal coverage for pentesting
I am planning on offering pen testing services as a freelancer. However, I am afraid that my customers may try to sue me for attacking their server if I don't have a legally binding contract stating that they comissioned me to. Therefore, I want to know what the simplest way to get such a contract without meeting in person would be (eg. are there any third party websites which are accepted as proof in a law suit?). Free alternatives are of course preferred.

If it makes any difference, I am stationed in Austria (-> Europe). Thanks in advance.
In Montreal, panhandlers on the street are bilingual. It's all about what you are exposed to growing up.
Yes, if you needs lots of different immutable maps as your interface to a library, then the lack of generics is annoying. But the question is, is the immutable map such a common interface, or should your library and abstraction barrier be something else? I am a professional programmer and have prefer abstractions via objects/functions.
It works. But you have to create empty elements, too. That way you also target code that is using xpath.

Also, you have to take into account regex.
Ask HN: What does Atari mean?
You are comparing two different things.

To have a free website is not the same than to unlimited grants such as a guy to taking the whole pie.

Or worst, lets say that you writes a free essay and everybody could read it and share. However, somebody takes it, deletes your name and put his name instead.
Actually most diets fail because you stop dieting AND when you do, you now have decreased your metabolic rate and increased your production of hunger hormone. In summary you are way more likely to fail keeping a stable weight after dieting then you were before.

The failure rate is something like 98%
Yeah lack of generics with the argument of "simplicity" is a special kind of crazy.

I was thinking of the ImmutableDictionary that's more recent. Normally in C#/Java you should rarely expose collection types directly so you almost always encapsulate the list/dictionary and provide e.g GetReservation(string id) to the outside, which makes it less common to even need the readonly types at all. Immutable ones are a whole different thing since they enable proper sharing of whole collections.
I'm not a fast programmer nor the smartest, but I am a relentless problem solver. I'm the terminator of problem solving ..... once I get stuck into working something out I just can't rest till I've cracked the case.
Because it's a lot easier to undo unmaximizing a window
I think roenxi is referring to how the Fukisima nuclear accident wasn't the biggest deal that day, as the tsunami had a far greater impact (0 vs 18 500 direct casualties, respectively).
Running a CouchDB 2.0 Cluster in Production on AWS with Docker
My thought was that one of the modules had a plug on the bottom so you could run the cables through a hole in a wall/desk... but it looks like none of the modules, not even the VESA mount, have anything like that.
>Node is single threaded

You can still utilize all of your cores in Nodejs. So which problem are you encountering?
You don't.

But you can know if you're bad at it. It's kind of like testing and other forms of QA in software -- usually they can attest to the presence of bugs, but not their absence.

If you find yourself not falling into the pitfalls of a bad programmer... odds are you're not programming enough but if you are doing it and avoiding those pitfalls, you have a chance at being considered good. If you have enough self-awareness to watch out for pitfalls you might fall into and avoid them in the future, you will become better than you are now. And that's really all I can promise you.
The wide separation between whats done and whats talked about makes the topic interesting. The technology isn't here yet and may never arrive, most of it's thinly veiled magickal fanfic. So they play with magnets instead.

In the example of the pacemaker, it would be like techies 50 years ago talking about how cool a computer controlled pacemaker would be, while they implant a 12AT7 dual triode vacuum tube in their belly doing roughly nothing.
You'd get to challenge the ToS in court if TfL were unfairly applying it.
Worth reading for this sentence (p.5): "The core obstacle to an integration of gravity in the context of quantum field theory is the occurrence of untreatable infinities in calculations of particle interactions due to the possibility of point particles coming arbitrarily close to each other."
First time I've heard the problem of integrating gravity with QFT explained that way.
> substitute email for email address

Language nitpick: that should be the other way around, for meaning roughly instead of in this expression. I guess this might be going the way of comprised of and the like (once considered a clear error, but now so widespread that it's considered pedantic to reject it).
No worries. I see two separate disasters here, both linked. The first an absolutely devastating weather event that killed more people than live in my home town in it's entirety + caused massive damage, and secondly the Fukushima nuclear disaster (which seems to be treated separately in many cases, which the article is about and which my comment was directed at).

In my experience, many people & journalists hold Fukushima up as a really bad disaster. I'm trying to communicate that I don't think that Fukushima was a disaster that warranted international coverage - the weather was.

At an international scale, I don't think Fukushima is much worse than a near miss. I would be really interested to get an expert academic order of magnitude on how many people died in the evacuation due to the Fukushima disaster vs. the theoretical number of deaths if they had evacuated more slowly (say over 12 months). It frustrates me that the cost-benefits of the evacuation aren't a more prominent point of discussion.

EDIT: Just for fun; I can't pretend I know anything about radiation or what the Japanese are up to; but on wiki I see things like "absolute increase in the risk of cancer(of all types) during their lifetime, of approximately 1% due to the accident" [1], " Life expectancy of the evacuees dropped from 65 to 58 years ... because of depression, alcoholism, and suicide" [2]. I'd like to know who I can turn to for an honest rundown of the risks, because the radiation doesn't seem that terrible.

[1] https://en.wikipedia.org/wiki/Fukushima_Daiichi_nuclear_disa...

[2] https://en.wikipedia.org/wiki/Japanese_reaction_to_Fukushima...
Ask HN: Programming language to pair with T-SQL
I've been learning TSQL on and off for the past year and would like to learn a programming language to create simple tools to automate some of my work.

A friend has recommended C#, but I'd like a couple of suggestions before diving straight in.
Sure, if you're in a GUI then you report to the user that an operation failed and it's up to them to figure out what they can do about it.

As for infrastructural software, yes you want to handle errors in a more thoughtful manner. If you can't and the process has corrupted it's own stack or heap (in the case of C or C++) then sure, abort. But I'm saying this line is often chucked over to "log the exception and do nothing" too quickly because it's often the easier thing to do. 25% of catastrophic failures in this one study appear to occur because of this.

tl;dr: The devil is in the "If you can't".
I've been on Reddit and seen how many people are truely lonely. If this app could reach critical mass, it could have a hugely positive effect on thousands (millions?) of lives. I hope you (or someone) will do it. I'm not lonely, but I would use it too - everyone can have more friends.
It's just the downside of nuclear reactors. When they go pop like this there isn't much you can do to meaningfully clean up, when everything, everywhere is filthy with radioactivity.
Very good read indeed. Some key quotes:

"managers strive to prevent bears from learning to associate people and human spaces with food by providing bear-resistant food storage and garbage receptacles and enforcing their use."

"[...] managers may use techniques called aversive conditioning to teach bears that human spaces are unpleasant. This can include noisemakers, shooting them with beanbags, or capturing and releasing them."

This is also very good:

http://theoatmeal.com/blog/bears

" If they have to enter the pen of a captured animal, such as a bear, they wear a bear-urine-scented bear costume. The point of all this is to disassociate themselves as a source of food or care for the animals. Once released, they want these wild animals to avoid people as much as possible. "
Spot on. As a card-carrying dinosaur I've found myself from time to time needing to read up on some "new" (usually turns out to have been invented in the 60's) coding thing.

Once I figure out what it is, I ask myself what problem it solves (the literature typically doesn't say). The answer tends to be one of:

1. Saves some typing.

2. Saves some work when refactoring.

3. Avoids some class of bug.

4. Highly useful in a kind of programming I don't do (e.g. compilers).

#1-2 in my experience are much more common than #3-4 and often #1-2 can be dealt with through tooling (IDEs for example).
The best answer is probably an API.
Go may detect data races if your test suite triggers them and you opt in to use the race detector.

Rust rejects programs with data races unless you opt out by explicitly marking code in question as unsafe.

Quite a bit of a difference there.
> That cuts you (the user) off from hundreds of millions of people on corporate networks.

Arguably an advantage.
The dream of Polish tech entrepreneurship is almost over
It's less a matter of making fructose into a good sugar, and more a matter of reducing the bioavailability of it. When you eat a piece of fruit, your body has to break it down in order to get at the fructose, and that takes enough time that you're now competing with your gut bacteria for access to that fructose. When you drink it in a soda, it's much easier to process and you have a significantly higher chance of absorbing it at soon at it enters your small intestine.
> "Programming" is easy

That is a bold statement. All the things you list are true, but it also depends on what you are doing. For most Web/Mobile/Enterprise apps you are probably right. But then there are also some areas like graphics programming or AI were the algorithms can absolutely be the hard part.

I consider myself fairly good in my domain (Fullstack but mostly backend) but when i see what some people in graphics programming (or Games in general) or AI are doing, i feel like a newbie. In my domain, i rarely have to deal with complex math, it's more about writing readable, clean and well tested code that is well designed in terms of architecture. But in some other areas you actually regularly have to face pretty complex problems where the stuff i just listed kind of becomes the easy part.
Satan Hussein. He was considered even worst than Hitler and soldiers carried freedom to Iraq, how the army was called? freedom coalition force). It was the opposite.
I believe roenxi meant, "the [nuclear] disaster, in context, wasn't the biggest deal that day"
> You know how much code I’d have to write if this were C++, C#, or Java? None. They all have reusable notions of an immutable, ordered map.

Java doesn't do that well at all though; its immutable maps can be used in place of mutable maps, since there's no way of having a Map interface that extends ImmutableMap to add extra operations, so you can get nasty runtime surprises if you've got the wrong one. Conversely, if you want a mutable map keyed on a non-trivial structure, you have to do just as much boilerplate as the author complains about to set up private members, setters, builders, etc.

Obviously C++ can do it quite readily, but nobody accused it of lacking features.

This is really just another use case for generics, and the discussion there is well-trodden. Go probably isn't the language for you if you value generics more highly than fast compile times, native binaries, etc, but I'm not sure why that still seems to come as a surprise.
The flat-pack home that builds itself in under ten minutes
> increasing blocksize 4x or even 8x will have negligible impact on the security or decentrality of Bitcoin.

Incorrect. It will make running a full node for almost all consumers in Australia impossible at any price.

> hopefully SegWit2X will be the sane compromise

Segwit is the compromise and we are finally going to get it. If you want to install the 2x hard-fork to china-coin, you are welcome to. Everyone else will just continue using bitcoin. Now with segwit.
Chernobyl is still in use though. At least the reactors which weren't damaged. But only thing that could be done would be putting the radioactive material from one hole to another.
They're referring to the fact that the reactor meltdown at Fukushima is the newest addition to the list of incidents that 'prove' that nuclear fission energy is bad and should be banned. They're glad that the reactor meltdown is juxtaposed to the real disaster (in terms of human life lost) namely the earthquake and the tsunami itself. So that people place the reactor meltdown in the correct category: 'bad, but not a terrible earth-shattering disaster of epic proportions'.
Hopefully the poster will reply themselves but...

I think they mean that the nuclear accident, wasn't the biggest disaster that happened that day. It is pretty amazing, that a nuclear accident, that's the biggest accident since Chernobyl, wasn't the biggest disaster that was cause by the tsunami.

It is absolutely true, that the impact of the tsunami, and deaths it directly caused, was much bigger than the nuclear accident itself.

The nuclear accident itself caused no direct casualties. Its impact has mostly been that on the local population that was evacuated (which has of course caused much pain, and economic disruption).