skysight-inc/HackerNews huggingface dataset:
Wow. I was thinking of writing a similar post just two days ago. I am almost the same as you; I have been struggling with procrastination for almost 20 years now, sometimes successfully and sometimes not.

Some quick notes about what I have understood:

* I am depressed. I have EVERY symptom of chronic depression listed here: http://www.webmd.com/depression/guide/chronic-depression-dys...

However, I don't know whether I procrastinate because I am depressed, or whether I am depressed because I procrastinate.

* Procrastination is a way of avoiding pain - the effort required in "work".

* Procrastination itself is addictive: it gives instant pleasure instead of the pain of "honest work". And the person procrastinating intellectually knows that it is bad for them, but once they are truly addicted to it, they are unable to stop.

* Procrastination is a habit, and habits can be changed.

* Habits are just patterns of behavior that we have memorized in our sub-conscious minds, so that we don't have to think about performing a certain action, or taking a particular decision, over and over again. It is a labor-saving device for the mind. If we had to think anew about every action we do / every decision we take, we would quickly get tired. But once an action or decision become a habit, we don't have to think about it; it just happens automatically. That's a great energy saver, if the actions / decisions are "good" for us, but can be life-destroying if the actions / decisions are "bad" for us.

* Habits can be changed. First, mentally review what you will do the next time you are in a "moment of choice" - such as sitting in front of your computer. Resolve to do your client work instead of playing a game. Actually visualize doing that: ignoring the urge to play a game, calming yourself until the urge subsides, and then calmly doing the "right thing (TM)" - opening up your IDE and coding.

Next, when you really are in the moment of choice, really do the above. To elaborate: You will feel the urge to fire up a game. At that moment, tell yourself that you have been down that road before, and you know where it leads. Tell yourself that it is ruining your life, and you won't accept it any more. That you will do the "right thing" (TM) no matter what. At this moment, you may have to stop everything and just breathe slowly and deeply until the "urge" to play the game subsides and you are calm again. Once you are calm, it is easy to take the right decision.

The first few times you do this, you may find it difficult, or almost impossible. But trust me, it can be done. And the more often you do thins (calm yourself until you can do the Right Thing), the easier it will become. You see, this will slowly become your new habit, and the old habit will fade away because you will no longer be reinforcing it.

All the best! Write to me: tech.rohit@gmail.com
Right. Knowing the name of the sort procedure in JavaScript is not the point. The point starts with knowing the difference between bubble and quick sorting and why it might matter. The heart of computer science is the mathematical analysis of computational processes.
I would be happy if they just added a feature to change your username. It's not too difficult to decipher my real identity from my HN username and I'd like to use something more anonymous. And fwiw a couple of years back I tried emailing the addresses mentioned in that link with no luck.
That overlap is more than large, it's actually the most important factor in the calculation. You only need to go back about 6 generations (200 years), and there is practically no interchange between geographically separated groups, which means that I probably don't have any genes from some random asian living 1000 years ago (although we both almost certainly share genes that we inherited from some far more ancient common ancestor).
wow. im more than impressed 0.0 wonderful
Ask a doc if ADD meds are right for you? (Serious suggestion, just too late here for me to write it up more enthusiastically.)
self promotion: Here's some more.

http://greggman.github.io/webgl-fundamentals/

In particular

http://greggman.github.io/webgl-fundamentals/webgl/lessons/w...
According to this, it's the other way around.

"The first shader-capable GPUs only supported pixel shading, but vertex shaders were quickly introduced once developers realized the power of shaders"

I actually very much disagree with your point about names. I write shaders when I have to, I'm not very good at it, but it feels fundamentally very broken, much as I picture the days of 16 bit x86 assembly (memory segmentation?).

There are arbitrary length, register etc limits per DX version, there's no clean cross platform method of writing shaders, the documentation is fragmented, vague, for the wrong platform or non existent.

Sure, the naming could be better, but page one of a decent textbook should set you straight. The other issues, not so much. Of course, that's more or less the price you pay for being on the bleeding edge of performance.

http://en.wikipedia.org/wiki/Shader#History
The way a lot of other sites do it is to disallow new accounts to be created with the same username as a deleted account. Reddit does it like this.
Happy to help! My email is in my profile if you have any questions at all. Again, all the best of luck!
well, is it a goat or a joat?
On item 1) the quality of the ad is not relevant in the sense that people dont click on it. Unless you think that "bad traffic" comes from "bad ads".

The fact that fraud exists is huge, and that it runs so unmitigated on Facebook should be subject to class-action lawsuits.
That you should work to avoid click-farms, to avoid Facebook from profiting from click-farms, is unacceptable.

FB is in a perverse incentive position to not fix something that makes profit for them, much like any other running scam. And the size of this beast is unknown, because its not recognized.
A majority of a certain population of people support something abhorrent. I guess that makes it okay.

Guess what, yes, your actions in private/public life have an effect on your employability and the success of your organization.
Nearly all forums do this or some form of this.

Your account and personal information may be deleted, but all of your comments, submissions, conversations, threads or whatever you call the collected bulk of user generated content will remain.

The reason for this is that a forum is a collaborative effort, a collective work, and the contributions of other people's content might only make sense in the context of yours.

The general stance is that a conversation is an audited history, and to change the historical record affects other people's content too by redefining the context.

Taking this very conversation as an example if you deleted your account and your comment, mine now makes far less sense.

Most forum admins agree that you have the right to edit your content, but not to modify/affect someone else's. Changing the historical record affects the content of others.

Thus, most forums will ask for the right to reproduce your user content even after your account has been deleted. This preserves the context of other people's content.

Beyond that... account deletion. The internals of most forum software is based on foreign keys or data structures that presume integrity of the data. To delete a user account whilst retaining the content created by the account breaks their software.

So for a lot of forums deleting a user actually means keeping the user record but scrubbing it of identifiable information. The problem then comes that whilst the account may no longer exist in a meaningful sense, the content might still have personal identifiable information and will now be orphaned and detached from any meaningful record of ownership. Liability just became a nightmare for the forum admin.

The question of how to handle work contributed to a collective work that is a forum is a sticky one. But ultimately the value of the forum to the people who will continue to use it is based on the collective work remaining intact. The content will always survive, and then it's just implementation that dictates what deletion of an account really means for the given piece of software.
This is just my personal opinion but I'd take away gaming from my life if I were in your shoes. Actually, I WAS in your shoes once. I was addicted to gaming and would spend hours and hours in front of my laptop or xbox 360 trying to repeatedly do levels to get a good score. I was almost clinically obese until I realized I had to do something to improve myself for the future.

The thing of it is is that gaming doesn't really add value to my life as a developer/career person (unless you make money out of games). I have a serious case of addiction to whatever hobby I partake which is why I ditched gaming in favor of my new fitness endeavor.

Bodybuilding for me has immensely created a better psychological effect in terms of getting things done. In order to see results, you'll have to be patient and work smart (not hard) towards your goals. You can't just go to the gym and lift random weights and expect ground breaking results from a lack of planned training. You need to log everything including your meals, your training volume, and condition EACH day.

With that, I've incorporated those learning experience to my work. A business cannot grow if you have no plan to begin with. Questions like, in order for this thing to make "gains", what "training" methods should I look for? What "nutrition" will this need in order to fully maximize its potential?

Bodybuilding for me has become similar to how one would manage one's career or business. You take care of it, it takes care of you.

TLDR: Ditch gaming. Go fitness/bodybuilding.
There is no winning against this flawed argument.

* If OP doesn't do this, then he's a spoiled and far-removed brat who has no idea what it's like to be a real person working a normal job.

* If OP takes on a small and humbling side job, then he's obnoxious and selfish for taking away this job from someone who needs it.

* If OP volunteers for this job, then he's self-righteous and still selfish for taking away someone's job just so he can feel good and wake up early. Doesn't he know some people have no choice but to wake up at 5am and work all day to feed their family?!

* ...
I don't think people should put in effort to memorize things like command line switches. The issue I'm arguing against is accepting that we must now google everything to get work done. I agree that if its worth memorizing, you should eventually commit it to memory through repetition. The problem is that sometimes this doesn't happen. This is a sign of a problem, likely with the interface you're interacting with. If we accept the expectation is to just google everything, no one will ever stop to ask whether the interface itself is broken. If we accept that one should develop a mastery of their environment over time, then incentives form to improve ease-of-use, elegance, and "memorizability".
And as a result you'd have missed out on Skype's tap dancing and sidestepping around the issue. This submission also promotes a key issue: your Skype account is for life, or at least until Skype becomes passé and irrelevant, and shuts down.
That's the bad thing with our profession. We get so high to creating something awesome. We forget to take care of our body and mental health.

Probably read some good books, enjoy time with family and work hard on only fixed time say (8-5). You would probably get more things done.
It works not on all Firefox. Just tried it out with Firefox on a Android tablet and it said I should download Chrome. Then I started it with Chrome on the same tablet and it crashed it?!
Maybe you could meet with a friend, somewhere where you don't have a gaming computer. The friend could help you stay on track.

Otherwise at least go somewhere without a gaming computer - co-working space, cafe, library...

Perhaps the client can offer you a desk in his office?
Oh! You're right, I was mixed up about the history. Sadly my mixup will probably detract from my other, non-history points as well. Thank you for correcting me.

I write shaders when I have to, I'm not very good at it, but it feels fundamentally very broken, much as I picture the days of 16 bit x86 assembly (memory segmentation?).

There are arbitrary length, register etc limits per DX version, there's no clean cross platform method of writing shaders, the documentation is fragmented, vague, for the wrong platform or non existent.

This is exactly why I push people to try using OpenGL and avoid Direct3D. All of those problems are D3D problems, not shader problems.

GL has no arbitrary length limits, and it has extremely accurate and thorough documentation. If a program is too complex to execute properly on the given hardware, then it's executed properly in software. Some see that as a terrible thing, and sometimes it is, but in today's mega-GPU world it's becoming increasingly rare to write shader programs that are so complicated that they have to be emulated in software by the driver. Getting an accurate result seems much better.
True enough, but we might expect those people to have some idea of what a spider trap is.

I definitely noticed that the tag was <span id="hide">, though... that raises all kinds of interesting questions like "what if I want to hide more than one thing on the page?" and "if I'm going to do this, why not display="none" instead of just adjusting the text color on the link?"
Good advice, but games are optimised to continually give you an instant feeling of gratification. I don't think there's a career choice (or anything that requires some significant time investment) that can match this.
I had trouble with bcrypt
tldr: Gaming is like calorie free sweetener, a job is like a (sometimes bland) hunk of roasted meat. If you focus exclusively on 'fake' achievements you might quite literally end up starving.

What job would you like to have? What do job ads for that post require in terms of technical skills and provable ability? What are some people that have jobs of that sort and what are they able to code, what technologies do they know, what is their work process?

Where are you in comparison with people whose career you would like to emulate? Avoid "I'm bad they're good" use more specific language: "They can write full stack PHP CMS-lite apps and deploy them to AWS with chef and manage all Ops tasks associated with keeping that app functional."

That's still vague but it gives you a list of research goals and some clear, real world ways to test that you've achieved them. Get yourself closer to that person's level of knowledge, as you advance adjust your current summary of skills and experience and upgrade jobs.

Write your own skill/tech tree and monitor where you are on it. See http://www.dungeonsanddevelopers.com/ for inspiration, though I think it's not that well themed(who cares about +10 strength, where do I record the +10% Bash Script writing speed I gained last week?)

On a more philononsense note:

Games are awesome because you get to achieve your goals. They are pavlovian systems optimized to tickle the part of our brains that enjoys creating a desire and then satisfying that desire.

Life is fundamentally about uncertainty. No model of your career path and the value of your labor is going to get within the ballpark of Civ's precision. Single player against the AI at lower difficulties you can have strategies that will win you the game every time, deterministically. With life there are just too many variables to make such strong predictions.

Imagine trying to think of a good strategy for winning a 50,000 game-year long Civ game, with a technology tree that's not set in stone(both in terms of the tree and in terms of each node) so investments made in a prior game might have different effects if made in this one. The tech tree is also 50 times larger. That's an encyclopedia just to get a grasp on what it is! Plus undiscovered nodes are oftentimes clouded in fog of war! Plus paths sometimes snap while you're on them due to the AI researching a different branch!

Fundamentally the pleasure of a game is that it gives you goals to strive for that are achievable and that you achieve constantly and steadily. Life will never give you that certainty of 'leveling up'. BUT! remember that game achievments, unless you are actually a pro gamer, produce no value for those around you and no value, beyond happiness hormones, for you.

It's quite literally a behavioral drug, mimicking useful human behavior.
I think this list is missing some important parts of computer science.

Here are the books that our university uses for first-year students combined with books that I found to be useful:

Introduction to Programming (using Eiffel) [1]

Mathematics for Computer Science (or: Discrete Mathematics) [2]

Introduction to Datastructures and Algorithms [3]

Introduction to Digital Design [4]

Parallel Programming (using Java) [5]

Optional but highly recommended, you'll probably find it completely out of scope:

Real Analysis I [6]

Real Analysis II [7]

Introduction to Linear Algebra [8]

Introduction to Physics [9]

[1]: http://www.amazon.com/Touch-Class-Learning-Program-Contracts...

[2]: http://ocw.mit.edu/courses/electrical-engineering-and-comput...

[3]: http://www.amazon.de/Introduction-Algorithms-Thomas-H-Cormen...

[4]: http://www.amazon.com/Digital-Design-Computer-Architecture-E...

[5]: http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/...

[6]: http://www.amazon.com/Analysis-Texts-Readings-Mathematics-No...

[7]: http://www.amazon.com/Analysis-II-Texts-Readings-Mathematics...

[8]: http://www.amazon.com/Introduction-Linear-Algebra-Fourth-Gil...

[9]: http://www.amazon.com/Fundamentals-Physics-Extended-David-Ha...
Twisted's problem is the good old singleton (anti-)pattern. There can only be one reactor ever, and most galling of all, it can never be restarted once stopped.
They aren't really the side that is right, they are just the side that has 99% of people. Gay marriage is contentious because it's practically an even split right now.
Ask HN: My boss just got fired
So, I took this job a couple of months ago in large part because of who I was going to be working with; three weeks in, the other guy in the SF office that could code well left. I stayed and took on a lot of his responsibilities.

Then, a few weeks ago, our ad ops person left. Now I fill her role as well.

I finally get into this and start to get used to my workload, and now my boss is let go.

I have some options; I can start up a company again and try to make that work; I could probably be poached to another company for more pay, or I can stay where I am and take advantage of the vacancy my boss left.

I honestly don't know what I should do here, so I'm asking you: in a similar position, what would you do?
I'd suggest finding a good psychologist, preferably someone with a PsyD, who can't prescribe drugs. Mine's been good in letting me filter out a lot of issues, and try to get to a point where certain things are more manageable. She was also the one who said to speak with a psychiatrist for handling the medications. Having the two being separate for me has been helpful, even with real bad depression/anxiety.
I'm inclined to agree. I'm not one of those Javascript bashers. It's a handy enough language and tweaking/hacking/breaking JS enabled webpages is the way a lot of us amateur coders dip a toe in the water.

Unfortunately I think JS is having a lot of responsibility heaped on its slightly creaky shoulders these days, due to the growth in mobile intarwebsing and every man and his dog looking for a quick way to build the app that is going to bring them fame and fortune. As a result of this, we're seeing a lot of these frameworks which compile [arguably!] 'better' fuller-featured languages down into JS.

Personally I'd rather a scenario where people could code in <insert language of choice> and embed this in HTML as easily and ubiquitously as JS can be embedded. A bit of a pipe-dream I know, but wouldn't it be great if we could exploit the cross-platform accessibility of web apps, without having to turn everyone into a Javascript hacker?
That should be possible, but again... technology.

If it wasn't thought about when the software was designed then it can cause very nasty issues and be hard to rectify.

One of the forums I run on vBulletin has over 4m posts, 2m private messages, 45k users.

vBulletin is MySQL and tries to reduce database load through denormalisation of the data. The posts table has the username repeated every time a post was made, and the private message table has a horrible PHP serialized array containing the username in the "To:" column for a private message.

Changing a username on vBulletin involves an UPDATE statement on the post table, which is fine... but it involves iterating through every private message, de-serialising the To information, modifying and putting back.

And vBulletin is MySQL, and the search is full_text, which means MyISAM tables, and the update of the private message table locks for the duration, and for a large number of private messages the table is locked for 15 minutes on that particular server... which is enough time to cause a domino effect of query waits that PHP runs out of memory and one by one my frontend servers fail and the site goes offline.

Yup, vBulletin will crash and take the site offline if you have a large number of private messages and want to change a username.

You can see the fun of explaining this to the users of one forum over here: https://www.lfgss.com/thread95475.html

This is one of the very many annoyances that has led me to create http://microco.sm/ to fix this (and many other) pain points for admins and users. The software design is stopping users doing things they want to do (change their username).

HN isn't running vBulletin. But the logic is much the same. If it wasn't thought about on day one the data structures likely do not permit an efficient changing of username.

HN is under substantially more load than the forums I run, and dang likely deals with far more performance related issues. I'm sure he can reveal HNs specific design flaw that prevents username changes.

Or perhaps it's just the idea that it's a social problem and that if patio11 changed to patm that it would break the context for all previous mentions of him. Again... software should have solved this, but only if it was thought about early enough. The lack of avatars does mean that the username on HN is a far more critical identifier.
I've looked into habitrpg.com which allows you to gasify your life. It's a little too cutesy for me, so I am going to try and roll my own version to use.
Been there. Unreal Tournament (facing worlds FTW) nearly ruined me. I was playing so much I was in the top 5 on ngWorldStats for 3 months and lost sleep if my rank went down.

Fortunately after about 9 months my graphics card blew up leaving me with a shitty ATI Rage Pro which was useless for anything other than work. I didn't have enough money to buy another card.

Within a month of being forced not to play games, the urge went away.

Haven't played anything other than Sudoku on an old Nokia and minecraft with my kids since.

Go cold turkey. Just do it. Hurts for a couple of weeks but after that the world will open for you. Also stop reading books and motivation stuff - these people are just selling you an ideal. Only you can fix it.
got 'em, and will take a look at them, and e-mail feedback.

-bowerbird
Torvalds rails at Linux developer: 'I'm f*cking tired of your code'
Bob's Bakery Buns isn't likely to pick a web address that - at this stage - requires potential visitors to his site to download a plugin to find it. I'd be interested to see what percentage of major brands' .bit addresses become owned by the brands rather than squatters. If the latter percentage is sufficiently high you can pretty much guarantee that fear of phishing will make browser vendors very wary of seamlessly integrating .bit resolution into the standard browser build.