skysight-inc/HackerNews huggingface dataset:
I agree that knowing yourself is important. It's no use forcing yourself to do things you clearly don't enjoy. However, I want to share a motivational hack with you.

I have a bad back. By far the best treatment I got is regular exercise. Later, because of vanity, and because I was always a skinny nerd, I started adding exercises that weren't exactly critical. Okay, I acquired "runner's knee", so it was initially squats. But there's no strict need for push-ups, cycling, pull-ups. I do those for vanity. I like the way I look compared to my peers, even much younger ones. I sweat like hell during some exercises, like when I do 5 sets of squats 3 times a week. But I manage to pull through.

...and... at some point I realized, if I have (or just developed) enough willpower to persist with these often exhausting exercises, why can't I apply the same persistence to practicing programming ? It turns out... I can. Working out HARD is difficult. So is programming. Working out taught me to not get discouraged doing things I know have merit. To keep trying, and use different approaches if the last one didn't work. There's a bit of overlap between working out and programming.

It helped that the other alternative I have is software testing. Reading through the ISTQB materials, and writing some tests I realized this stuff bores me almost to tears. Software testing is important and useful, yes. But it's also a lot of copy&paste work, boilerplates, and you're discouraged from using creative code. Do Repeat Yourself. I make many errors when using copy&paste in code, because monotony puts me to sleep. I forget to update some variable name. Some programming languages, like Rust, have compilers picky enough to reduce the need for software testing. And at the end of the day, you're looking for holes in someone else's work, and the skills you pick up can't be later used in a fun side project.

The bottom line: regular exercise can change your perspective. Realizing other alternatives are boring can change your perspective.
I built Slyme (https://5ly.me) and couldn't find any usable payment platforms. I live in India and couldn't automate payments from the US. This is really a big problem. Stripe is expanding to other countries in the future though.
> Even went to the therapist, but she said they don't prescribe stuff like Adderall (don't even have it), and solution is just therapy in form of talking, which had zero effect (she asked questions I asked myself when I was 15).

I wouldn't rule out therapy or its methods, just as you wouldn't rule out software developers because the first one you ever hired seemed to do a crappy job (and to take the analogy a step further, we know that in software the crap is often an input of the client or in their perceptual apparatus).

I had tried several therapists without much success and had stopped pursuing it, and then I happened across a good one. It was life-changing. Only my parents and spouse have done more for me.

One thing I learned about therapy is that there is method to the 'madness'. Some things I thought were ridiculous going in, I later learned were my blind spots. Sometimes they took approaches that seemed pointless or infuriated me, but worked out well. You need to be ready for that kind of change, which means challenging beliefs you hold dearly and implicitly. It's not fun and it's not simple, like a pill. If it was easy or comfortable, you would have done it yourself.
I discovered that I'm only really useful before about 1pm, so I get up early and take advantage of that time as much as possible. After that, I handle emails, scheduling meetings, the stuff that doesn't require thinking too much.

Sometimes I get a second wind and want to do intense thinking later in the evening, but usually I ignore it to avoid burnout.

I fought it for a long time, but it's just how I'm wired.
More precise tracebacks via decompilation
Going on their website, it's not in the Android app store. Looks like you buy, download then side load it.

There's no iOS version.
unsigned overflow is well defined in C.
I would quit this team.
Following predictable comment thread coming in,

1. Serverless is meaningless hype, we already have CGI.

2. There are servers so it shouldn't be called serverless.
2 large discussions in the last 24 hours:
https://news.ycombinator.com/item?id=16407678

https://news.ycombinator.com/item?id=16411227
Perhaps it's more to do with the stock of people who learnt CS.

In the older generation, CS was a relatively obscure and difficult skill with little to no easy-guides that it filtered the set of students to only those who were insatiably curious and were fuelled by learning new things.

In contrast, CS has become so ubiquitous that nearly everything has a "how do it" guide that eases the entry of nearly anyone, with little or not interest or whose motivation might be less than ideal. Thereby, possibly leaving room for more anecdotal evidence for this perceives shift in skill.
Significantly better than academia, of course. I get RSUs, annual bonus, etc. I actually got a fair amount of non-recurring money from patenting activity last year, as well.

I suspect I could make more money as a 'pure' software developer, but it would not be a factor of 2. And I'm doing what I love and largely choosing my own research direction. It needs to have an ultimate business application, but finding that alignment is not particularly difficult.

As with many scientists, having the resources I need to accomplish my research is often the stickier point. I have money for a few coops to do more speculative research, and annual equipment (I need clusters to do what I do). I don't have trouble getting funding for 2-3 conferences each year, which is all I need (more is a distraction, IMO). I'm hoping to start building out my group in a few years.

And I can do largely autonomous research work, very much like what I did as a researcher in academia. Arguably I am even more autonomous here, as I do not have a research adviser/boss.
Feels like the probability of getting grabbed by a space pirate within the next hundred years should be fairly high. Or maybe a space archeologist, just like modern day archeologists digging up graves intended as vessels for the eternal afterlife.
front page: https://news.ycombinator.com/item?id=16412541
1. You are definitely overestimating how hard this is. Look up contract CFO firms, and you should be able to get part-time support for logistics like that (as well as helping you get your books set up and do taxes).

2. Many are non-profits or have a mission that is unrelated to them making a profit. They often are funded by VC firms, companies who would like to provide services to companies in the accelerator once they have money (law firms, etc), and companies that want to raise their own credibility in the startup scene (3dsystems, or area-focused companies like GE maybe funding accelerators that work in batteries). Some also get government grants.
My question is, how will he feel about this three years from now? When he is trying to hire someone? Or when the folks behind Elm don't update it as often as they should?

The problem with unpopular languages is twofold:

* lack of talent that can step right in and be effective

* lack of resources to push the language forward

The first can be remediated by planning to bring new hires up to speed, and just making that investment in them. (It can also be a useful filter, making sure you are hiring someone who is really interested to the company and is willing to make the time investment to learn what is probaly not a very portable skill.)

The second is a bigger problem, if the main sponsor of the language moves on. If the main sponsor is committed, then you're probably fine. (I have no idea who pushes Elm forward, looks like there's a foundation from the wikipedia page.)
To speak in this metaphor: I am looking for a framework which allows me to specify only the final newspaper. A suitable printing press and the paper should be generated by the framework.
On Windows they are protected with DPAPI, so you won't be able to decrypt them without having access to the user account that "owns" the passwords.

Of course, this helps you very little when the malware is running under your user account and uses DPAPI calls to decrypt the passwords.

https://msdn.microsoft.com/en-us/library/ms995355.aspx
Some comments with the caveat that I have used Rust only for a short learning exercise a while ago and I don't fully understand programming in Rust (and found it tough going), but I think the problem is not about being able to understand the ownership models and lifetimes (which seems fairly straightforward conceptually).

The problem is in being able to put together a program that the compiler does not complain about. It always seems like you have to "feel" your way around by trying different things like a jigsaw puzzle rather than having a "canonical" way to do things that fit the lifetime/ownership model. Maybe there are more canonical ways based on people's experiences nowadays and maybe this problem is due to approaching solving things using a C (or other language) mind-set. It seems like learning these ways to avoid the Rust compilers errors related to lifetimes in any complex program takes longer than in other languages.
They also store extensive sensitive data and media about/from/with children with piss poor security. Is that not unambiguously bad?
https://news.ycombinator.com/item?id=16410478
Logistic Regression: A Concise Technical Overview
Author here. Recently incorporated this into Python's traceback module: https://pypi.python.org/pypi/loctraceback
and have used this idea in Perl (which from the help of perlmonks is where I got the idea).

I am curious if it has been used in other programming languages as well.
I don't normally think the default "he" as a singular gender-neutral pronoun is a big deal but in this case when describing the ideal of a CEO I would suggest that you use the singular "they" or "he/she" or risk giving the impression of promoting outdated gender roles
What I said was “not in processed foods as much as in restaurants”. I’m referring to fancier settings where price is not an issue, and they are trying to sound upscale, as in “our buckwheat crepes with raspberry fraiche and...”.

You’re correct that rice is a more common substitute than buckwheat in processed foods. However, many gluten free items such as pancake mix contain a blend of different grain and non-grain flours.

As for the exclusion diet, yes, that’s what I used to believe. It is sort of true for non-celiac sensitivities. Celiac is not as simple as that, and neither are non-traditional allergies like eosinophilic esophagitis. I tried for -years- to identify the source of my malaise, and cut out several things that I have an issue with but never found gluten. The reason is that it is almost impossible to cut gluten out to the level a celiac needs to start healing without a very dedicated effort, and even then it takes weeks to respond if you have a bad case and have been eating gluten steadily. Various times I went gluten free, mostly, for 2-3 weeks and didn’t notice anything. I know now I would have had to be strictly gluten free for 2 months.

I strongly recommend medical testing for celiac. Elimination diet will not necessarily detect celiac and then screws up testing.

For eosinophilic esophagitis, there is no choice but to run an elimination diet where you stop eating everything and slowly add foods one by one, because normal allergy testing fails for that condition.

For normal food allergies, of course you should just take an allergy test.
Then we’re in the realm of automated or at least codified/systematic process, or we should be, no?
Maybe you don't need Rust and WASM to speed up your JS
Does anyone know a JSON parser that parses an ArrayBuffer instead of strings? [1]

JSON.parse() only accepts strings.

The library that the article recommends also uses XMLHttpRequest with strings. [2]

The reason I'm asking is the maximum string length in 32-bit Chrome.

[1]: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequ...

[2]: https://github.com/eBay/jsonpipe/blob/master/lib/net/xhr.js
I agree that a streaming response is cool, but why the dismissal of returning valid JSON, streamed? Why invent a new protocol when JSON already exists? Streaming JSON parsers aren't unicorns, they are horses (sorry).

With this new-line-delimited JSON format all your clients HAVE to know about your new protocol. They have to stream the response bytes, split on new lines, unescape new lines in the payload (how are we doing that, btw?), etc. If a client doesn't care about streaming, it can't just sit on the response and parse it when it's done coming in. Or, how about if later on you upgrade the system so that the response is instant and streaming is no longer necessary? Then you move on to a new API and have to keep supporting this old streaming-but-not-really endpoint forever.
> They have to assume the most restrictive grant of rights, and adoption of metadata to indicate more permissive access is so poorly adopted it’s just irrelevant in practice.

Try the advanced image search options, just like many other modern image search engines, as a user, you can filter for permissive licenses. I'm not sure how they gather that metadata, but the results I'm getting, it's not poorly adopted at all.

So they could in fact retain the functionality for images with the right license.
I have worked 0 hours the last 3 days, but I did 90h/week stakes for 2 months continuously from December to January.

Have you ever been burned out? I wouldn't work 90 hours per week these days unless someone was paying me a really serious amount of money. For my current rates, I find it not unethical to work at a more relaxed pace, procrastinating, really maybe working for about 3 hours per day.

You might be unsure of the resulting reward from doing something.
When I was an undergraduate, I've experienced poverty and hunger multiple times, which was proved to be (ironically) a great motivator. Unless off course I couldn't find a client to do a project for so I'd find myself in some serious depression instead.

I was (am?) a Matrix fan myself, but I wouldn't find it rewarding to rewatch the films or the anime again. I like re-reading the interpretations once in 2 or 3 years or so (<spoilers>I believe Neo is a program himself and Zion is also a simulation</spoilers>).

On the other hand, I binge-watched the two seasons of Stranger Things when the second one came out. Did I like it? Yes. Would I rewatch it, no. There's no reward in doing so.

I hate to give advice on the internet, as the variables that define each of us are haotic, but try to get along with yourself. Boredom might be a coping/survival mechanism of our bodies to not burn out (the reward must be greater than the energy/time you dedicated to a project).
There are the Breitbart and Fox News message boards, but that's mostly an older crowd with much time on their hands. The 20-30 conservative crowd is probably busy raising families and being involved with their communities.
> That is a fault of the programmer, not C.

It's common to hear this line from the C fandom, and very rare to hear a serious proposal for what to do with all this Bad Code written by Bad Programmers. The status quo is to rewrite the former from scratch, and totally ignore the latter in the hopes that they'll be magically pulled down to hell and have their hands burned off by daemons. As far as I know, that part doesn't actually happen. Instead, they just keep writing more Bad Code, and meanwhile the rewrites are just as liable to cause problems as whatever they replaced, because often as not, the people doing the rewrites also turn out to be Bad Programmers.

If pressed for actionable solutions, C advocates will sometimes mention tooling such as Valgrind and ASAN, as if merely having it exist guarantees that all C programmers are educated in its use and make it a part of their workflow. This clearly isn't the case. New programmers are still learning C from material written before such tooling existed. Old programmers are still recommending it. There's no path for Bad Programmers to become Good Programmers, except to be admonished in public to Stop Writing Bad Code.

Ultimately, I agree with you: The issue here isn't with the C language. It's with the people who use it. Their priorities do not include concerns like memory safety, and their normal response to questions of code quality is to make it somebody else's problem.

If the culture of the community were to change, I expect the language would follow.
Imagine if dereferencing a null pointer in C was defined to segfault. Currently, it's UB, which means the optimizer assumes it's not null, and when you break that assumption, weird things happen, the least scary of which is a segfault.

This is similar. "program error" means "You're not supposed to do this. But the compiler will not assume that you've not done this; it has your back. If you do this your program will exhibit defined behavior. Perhaps undesired behavior (panicking, or segfaulting), but the behavior will be defined."
Player agency in an open world, versus combinatorial explosion
In theory smart contacts remove the need for law & lawyers to enforce contracts. In practice any useful contract will need some data that isn't present in blockchain, from 3rd party providers/oracles. It is nice solution for gambling - if you bet on future blockchain state, since betting on sport events need an oracle that will provide smart contract with sport event results.
I can see GP's point and I don't see it as micromanagement. It's more like intensive investigation. I was "promoted" into management recently and I've had to change my view from "tasks getting done" to "people working together to complete tasks." Getting people to work together fruitfully is pretty difficult and even more difficult when you have a deadline you're shooting for. I don't care as much for reports back to me on progress, but I definitely like to see communication between those doing the task.

This also goes well with the rule mentioned in the article: always have at least 2 people working on a project.
Thank you, that looks interesting. I'll have a closer look, but from what I see it goes into the right direction.
Chinese woman joins handbag in X-ray machine
Sorry, I learned this lesson a long time ago. One service per machine. Especially this day and age where that's easy and cost-effective.
Fundamental concepts of React/Redux app. Part 1
That guideline refers to commenting on comments on HN. Some of them may be astroturf, but it's of no benefit to discuss that possibility, because usually that means a fellow HN person will be upset.

The possibility that TFA is astroturf, or perhaps a more apt term may be "submarine", is entirely appropriate for discussion. If it weren't, we'd be really handicapped in evaluating anything that gets posted to HN.
I've come across some old IBM Intellistation PCs which were used as check scanners. They had a bunch of weird PCI cards inside and the systems were running OS/2. I dug around the hard drives and found check images. Whoever let those go without wiping the drives really goofed up. Good thing I found them and not someone else.
Best SEO hacks for your Shopify store in 2018
Your ascii diagram wraps terribly on an 80 column screen, which is the typical width for a text display.
> Essentially, I come up with a new tactic to motivate myself every couple of months. If I don't do so, I find myself struggling to meet my goals and distracted.

How often do you think about your goals? How important are they to you?

I was in your shoes for a long time, and the way I got past it was to think consciously about the end-result on a regular basis.

Do you want to skate by on your niche skills and watch as other harder workers get the bigger/better contracts from your contacts in the future?

Do you want to passively step through the motions of life and regret not trying to start that business when you're 60?

Do you want to look back and wish you had learned & built more instead of drinking beer and playing COD?

At the end of the day, you are 100% responsible for your own decisions and path in life. You aren't going to be able to artificially motivate yourself forever (as you are discovering). You have to find something that truly motivates you.
>> Obviously no one gets my point after twice explaining

Actually we do. We're just not indulging your point. It's the same point that has plagued every new tool and technique that has ever emerged; "we don't need this, the exiting tools are fine, just be a better programmer." "See? If you just program better you wouldn't need this pointless such and such." I suspect this mentality is found in every field of endeavour.

The world you envision, where world class programmers write and maintain flawless code and everyone else stays home, is fictional. It has never been and it will never be. Thus we pursue tools to improve the state of the art despite the lack of exclusively world class programmers.

Maybe Rust is one of the right answers. Maybe not. I don't know. I just know that most of us are straight up done putting up with people that insist the pursuit of better tools is somehow misguided. Figure that out and you'll do better.
The 2007 reprint is available in Europe for around 12 Euro, and libgen.io has an old edition as pdf.
> Booleans and branching don't handle this.

Branching handles it fine, with the right conditions. As long as you remember that there are four outcomes and code intentionally for all four, you are golden.

You can do isnan() testing on all values before comparing and branch on that, or you can just do, e.g.:

if x > y ...
elsif x ≤ y ...
else ...

What is most clear and appropriate is context dependent.
Haha, thanks. I was a bit surprised how the 'ADHD'-hypothesis took off (many comments responding to it), as opposed to, you know, just not wanting to program all day.
agreed - there's a network effect to various bits working together, and it's not apparent until they're all there.

it may be linear progress from "lines of code" or some other metric, but there's a point (or usually a few) at which peoples' perspectives on the project changes.

I've hit this a couple times on recent projects, and it's usually tied to some new UI stuff hitting people. Usually, they've seen all the various pieces, but until they can click-click-click through end to end on a process, they don't care, or get frustrated and mentally tune out of that part of the project.
I see a legitimate business opportunity, a phone walking service. You collect the children's phones and take them to the mall, the library or wherever teenagers go these days, and meanwhile the kids can enjoy life without parental surveillance.

You do wonder what the 24-hour panopticon does to adolescents' mental health and to the health of the parent-child relationship.
thank you for reminding me I need to buy toothpaste
These largely sound like problems with your ability to manage working remotely and management at the companies you worked for.

> if you are struggling for 3 days x 10 hours per day to fix a bug, chances are high that nobody will realize this

That's on you. You need to seek out help no matter what environment you work in. You should never struggle on something for more than an hour or two. Seek help early instead of wasting time.

> You're constantly alone.

The author described the way they tackled this. You can also join a coworking space or rent a shared office.

> There is no separation between private and professional life, unless you have an office space

Also an advantage of working at a coworking space.

> You need to be everything.

Only at very small companies. In that situation it'd be the same problem if you were working at an office. Larger companies should have a proper management structure and good management of remote workers.