skysight-inc/HackerNews huggingface dataset:
You already have experience in .NET so I'm not sure why you are trying to move away from it to a language in which you have no experience at all. You mention the work you did on the simple CMS and praying that it worked. Build on those skills. If you could do it again what would you differently. What methods could you employ so that you didn't have to pray it worked. Read up on webservices so that you fully understand them. Getting good takes a lot of time. Even though I know a few languages and frameworks very well, moving to something new can feel like starting all over again.

The great thing about software is that there are plenty of ways to get experience outside of having a job. Write your own software or develop your own sites that show off your capabilities. Make the source available on Github if you want. Write some blog posts. Help out on Stackoverflow.
1. She went to school to get a not very competitive degree (journalism?) and unfortunately took out loans to pay for it. It seems she couldn't pay it back, because later she says "my credit is wrecked".

2. It turns out she and her combination of a degree is useless, because she ended up working at Amazon packing boxes.

3. She hated her job, so she ended up quiting. Good!

4. I respect that even after it's not her problem, she stands up against poor working conditions at Amazon by writing articles.

5. It's unclear why she can't find a job after Amazon, or why she is homeless. She writes: "I’ve applied for many jobs, and any prospective employer that runs a Google search of my name can see my discontent with my last employer." But that's bogus, I think many employers outside the tech sector will not Google you.

6. The ending of the article really falls apart for me. She says "I learned to live without money and without a home ... I know how to live outside. I refuse to live within oppressive walls." But then she says "I need cash and an opportunity. Anything!", and later "I became a capitalist."

The takeaway of the article for me is that there are probably issues around Amazon's working conditions and that the writer of this article has made some bad decisions that she needs to work out and stop blaming Amazon and whoever else.
Wow. I don't know what to think about this.
Which one did you go to?

Theres a lot of different people offering 10 day courses, and most I've heard of don't force the religious aspect on you.

You can go and not give a damn about it, and just do the mindfulness part, which is pretty intense in itself. (IF you are doing a vipasna course)

10 days of not speaking to anyone else, (really, even avoiding eye contact) - its rough on a lot of people.
They're real tough harassing an employee but what are they gonna do to me?

Don't make me laugh about some pathetic losers like TPW and wife. They're bullies and they got what they deserved, if not enough.
> Will Bill Gates ever make up for the billions of damage he caused humanity by using underhand tactics to destroy his opposition? Maybe.

No he will not and cannot. No amount of good deeds to people X makes up for destroying people Y.

I agree, this is a bizarre essay.
I wonder what this would do in case of a collision with another object.
Being a pushover does not make you "nice" there are correct ways to write good software and pointing that out in a respectful way is not mean. However walking upto a person and saying you're an idiot this feature is useless you write terrible code etc.. certainly is.
Ember, more strongly than any of the other solutions mentioned, pushes you to a browser application (or SPA) architecture. Usually developers who complain about bloat aren't thinking of web development in that context.

The number of challenges a framework should help a developer manage for a long-lived client-side JavaScript application is not trivial. It is absolutely true that Ember is heavier than other frameworks, but it has a specific style of development in mind. If someone chooses to build their app with an alternative, they often end up with a similar amount of code in other dependencies and application code.

And though we aren't there yet, we're working on ideas for modular loading of application code (via the pods patterns) and of Ember itself via tree shaking. This latter strategy leverages the fact that Ember's code and much app code is written in ES6, and thus we can identify and drop un-referenced code.
Don't over think it or start self doubting.
Are you getting interviews?
As previously asked - where are you located?

1. You must network. Make the effort to go to local meetups, etc. One problem you have is that you don't have other developers around. Knowing how to market yourself comes with awareness and experience you get by having relationships with other developers. Get out to a local meetup or something.

Without knowing more, in general:
1. If you're able to reduce your salary requirements then look for something that offers you a chance to build skills (sacrifice compensation for now).
2. You may need to relocate for greener fields.

As for tech choices, I think it's more about being with a team (or project) that is actively practicing high-quality code craftsmanship. Languages come and go, but delivering high quality code is a skill that sticks.
Consider a Think Penguin notebook https://www.thinkpenguin.com/catalog/notebook-computers-gnu-...
From your links, Kim Dotcom's "criminal career" seems to involve the Entertainment Industry like the RIAA and MPAA. Those organizations are questionable themselves. Best to be even handed about it and put those organizations on the same list as Kim Dotcom and Bill Gates.
So, I tried this in the past.

The problem you'll run into with PHP specifically is that reading an undefined string offset (past the end) will result in a notice: http://3v4l.org/nIkf5

Which means that errors are triggered. So you can increase the length of the user string and note a linear increase in runtime until you increase it past the length of the string, at which point it becomes MUCH slower on a per-character basis (even if you don't do anything with the notice, the error mechanism is still triggered internally, which isn't cheap).

Actually, my original code was more robust as it never read past the end of the string, preventing the notice:

/**
* A timing safe equals comparison
*
* To prevent leaking length information, it is important
* that user input is always used as the second parameter.
*
* @param string $safe The internal (safe) value to be checked
* @param string $user The user submitted (unsafe) value
*
* @return boolean True if the two strings are identical.
*/
function timingSafeEquals($safe, $user) {
// Prevent issues if string length is 0
$safe .= chr(0);
$user .= chr(0);

$safeLen = strlen($safe);
$userLen = strlen($user);

// Set the result to the difference between the lengths
$result = $safeLen - $userLen;

// Note that we ALWAYS iterate over the user-supplied length
// This is to prevent leaking length information
for ($i = 0; $i < $userLen; $i++) {
// Using % here is a trick to prevent notices
// It's safe, since if the lengths are different
// $result is already non-0
$result |= (ord($safe[$i % $safeLen]) ^ ord($user[$i]));
}

// They are only identical strings if $result is exactly 0...
return $result === 0;
}

There are a few problems here though that are non-trivial as are explained in the post: http://security.stackexchange.com/questions/49849/timing-saf...

Basically, while it may keep the length %64 safe (since cache lines are 64 bites wide), it doesn't keep the length safe in general. Some length information will be leaked on larger strings. And considering it's impossible to protect the length in the general case, making a function which says it protects length is a lie. Therefore I don't even try and hence save the complexity.

But let me ask this: what cases would you have where are you trying to protect the length? Anything with variable length input (like a password) should likely be one-way hashed anyway. So you'd be comparing fixed-length hashes. So where's the possible leak?
"I've stuck around in jobs because of the people when better ones were available."

But is that really in your best interest?

The way this is stated this is how it breaks down:

- I have a better job opportunity (all things equal meaning
presumably there are nice people at that job as well at least
potentially) that I have passed on.

- The people at my current job are nice to me and/or
my boss is nice to me and/or is not an asshole

In the above case it seems that you have been disadvantaged by
a loyalty that isn't based on anything concrete simply
because you like the people and/or the way you are treated.

Under that premise you might be a programmer at the local
small 10 person wholesaler and have a great boss and a great working
environment and/or a sense of loyalty because of how well you
are treated. And completely miss an opportunity (assuming of
course such opportunity is important to you) to work for a much larger
company with much more opportunity. Or take someone teaching at a small
community college who passes up a potential job at a major university
(once again assuming that is a better career path).

My point being that loyalty and a nice environment and the
people that you work with are certainly
great benefits but can also be in a sense golden handcuffs from
progressing further in your career.
With your level of experience, you should not make the mistake of jumping on, or off, a particular technology stack's bandwagon. Look, lots of worthwhile work happens in .net, and in Java, and in Python, and even in older languages. When the technology in a stack has inconvenient or irritating aspects, that's a big opportunity: if you're good at dealing with that stuff, you're valuable.

What counts? Getting stuff done, not indentation styles.

If you don't know SQL, now, while you're looking for work, is the time to learn it. Give yourself the assignment of building a program and maybe a web site to browse some kind of open data. (Historical weather measurements? Nursing home quality scores? Political donations? There's tons of open data available on the net). Get your system working.

For $10 a month, you can subscribe to an online books service like Safari Books. That should allow you to overcome the somewhat chaotic state of online teaching materials for popular software stacks.
Consider moving to an area with more jobs available.

As for your skills, continue to create on your own. You should know SQL and how to work with memcache or redis. Making an android app is good but if your career path is more towards web development keep toying around with that technology as well. Ideally you could build something and include it on your resume.

As nolite said, pick a language and stick with it. You need to learn one language inside and out and then you'll be able to pick up other languages that much easier.

And lastly, don't sell yourself short! You have experience, you are excited about this work and willing to learn, then you will do a great job. Let that show through when you interview. Tailor your resume to fit the job description you are applying for. Your resume gets you an interview, the interview gets you the job.
I suspect there is also something at play here, in that as people become more successful, they tend to want to share their success with others, and they get less mean.

I do question the idea that taking an early big acquisition offer should be called a failure. The definitions of what startup success looks like seems to be highly skewed when coming out of YC vs. what the rest of the world thinks.

I live in Utah, where there are countless small tech companies, with a dozen or so employees, who have been creating their products and building comfortable lives for themselves for years. We're all quite happy with our lives, but because we aren't experiencing 100% year over year growth and "only" pulling in a few million a year, we don't meet the definition of success put forth by YC.

It is important to keep in mind that YC;s purpose is not to help any single specific individual. They work with large groups, with a goal to increase their investment over a diversified portfolio of companies. I see no evidence that they are malicious about it - they do seem to be benevolent. But their ultimate goals do not match up with my goals as an individual coder. So their definitions and philosophy will also differ, and I recommend that people just keep that in mind as they read.
Bill is good now, in his old age with a wife who apparently had a big effect on that part of him. Previously, he was a ruthless and immoral businessman who saw no problem ruining people and lives to get ahead and illegally and unethically pressing his monopoly advantage to prevent and destroy competition. Don't confuse the nice old guy image you see now with the actual personality that created the worlds largest fortune. There aren't any billionaires that don't have many people who'd like to see them dead for the lives ruined by their ascent.
If your sloppy grammar and spelling are anything to go by, perhaps your issue lies with inattention to details.
I recently came to a similar opinion[1] of Angular like both of you though I was evaluating AgnularDart.

I decided to stick with plain Dart mostly of the reasons you mentioned (JavaScript ecosystem feeling like a mess). Polymer does look great but feels a bit unstable (at least for Dart).

What I would really love to see is a simple front-end framework handling:

- routing

- view encapsulation

- basic animations (when views are altered/loaded)

- back-end requests - preferably swap-in-out (http, websockets)

I ended up basically doing the above by hand in plain Dart. The only part that I found ready made and working nicely so far is the routing part[2] from Angular.

[1] - http://homing-on-code.blogspot.com/2014/11/dart-one-year-lat...

[2] - https://pub.dartlang.org/packages/route_hierarchical
What does nice really mean?

Nice usually means you are a pushover and will go out of your way to make other people happy.

I've seen lots of nice people try to start businesses..what usually ends up happening is that someone more aggressive (IE: mean) comes around and either puts them out of business or pushes their way in to take it over.

The successful ones are the ones that pushed back or were aggressive in the first place. It's not just a rule in business, it's a rule in life. If you are too nice, eventually someone will take advantage of you.
It's not worth unpacking the ethics here, but I think there's common ground. I would suggest that if someone has an income greater than the median and expects someone else to pay to support the poor, his math is off.
I think pg forgot that he is in the privileged position to be handing out large sums of money to these people.
This bullshit spin won't withstand even the most basic technical interview. It will also ensure that he'd come across as a pompous noob who's out of touch with reality.

I've been programming for money close to 25 years and I can assure you that the "junior" period covers at least 5 years. Yes, 3 years in you would think that you know a lot, have a boatload of experience and just a wee bit under "senior", but then at a 10 year mark you realize how obnxoisously cocky that self-assesment was. You just didn't know what you didn't know, but it didn't prevent you from feeling super-smart.

So, yeah, the OP is most definitely junior. That part is not a problem and it's actually really good that he doesn't think more of himself than he really is. His problem is a lack of experience and the only solution to this is just to sit your ass down, read what others have written and write your own code. Iterate.
At first he was rude but now he's mean.

The difference being if you cause offence but don't know it will hurt someone you're just rude. If you know it will hurt them and you do it anyways you're mean.

At this point Linus knows how his behavior affects people so to do it intentionally is either ignorant/stupid or mean.
That was my thought, too. It makes the Demon impredicative which always produces size issues. It could perhaps state that in a world in which it does not render a response you would choose to do X, but a world with feedback cannot be predicted by this demon.

But then there could be a Laplace's Demon+1 which sits above this all and knows precisely that Laplace's Demon+0 will render a response to that question and Demon+1 still can accurately predict the future.
Try harder, look for a job in start-ups and at-least for one year just do good work instead of looking for package.
That isn't mean. Reprehensible, sure, but not mean.
Median household income in 2013 in the US was $51,939.

For 40 hours a week, 48 weeks a year at $13, your salary would be ca. $25k. A household with two working adults at that kind of salary would fit pretty close to the median.
Saying a mean thing every once in a while doesn't make you a mean person. He was just frustrated, he gets frustrated often and does not practice enough self control when venting his frustration. That's not the same thing as consciously setting out to be mean to someone, at least, that's how I would define 'being a mean person'.
What these guys who would be considered mean have in common is they all made difficult decisions for the betterment of the company and many of those decisions came with a very high price (eliminating competition meant alienating lots of potential future employees and firing anyone who dared present an opposing viewpoint meant taking away their ability to provide for their family).

What would have been the results if they had been nice instead? Perhaps they wouldn't have been nearly as profitable or perhaps revolutionary products never would have existed because they wouldn't have had the drive to push people to their limits to create something great.

On the other hand they could very well have done just fine and been more successful but what they do know is what worked for the people before them was working for them so there's no reason to stop doing it.
The distinction I'm drawing is that Linus Torvalds' insults are so obvious and over the top that they are a greater risk to his reputation than to the feelings of the insulted. Whereas with genuine meanness one says things that a. one can claim weren't meant to hurt and b. make the victim worry that there is some truth to them.
I agree that the term mean is a very strange and relative term. 'Mean' is ultimately dependent on personal views, in my opinion.
That you should read more than one byte at a time :(
Worth mentioning that the vast majority of statistical research in psychology disagrees with Paul, and shows pretty conclusively that "agreeableness" negatively correlates with business success and skill at things like problem-solving:

http://en.wikipedia.org/wiki/Personality_and_life_outcomes#C...

Startups may be different, but if Paul is correct what he is saying implies that successful founders are less likely to succeed when working for other companies. This would be interesting if true, but also such an unexpected finding that it seems more likely he and Jessica are simply nice people who are personally biased towards surrounding themselves with other nice people.
Every distribution has common libraries in its package manager.
Do you actually know any of those people, or are you simply repeating media noise?
Got Your Tweet On? How's It Going? A Quick Peek into Twitter Analytics
The Introverted Entrepreneur: How to Be Successful as One
> Very disappointing that one of the start-up world's "thought leaders" has his head so high in the clouds he can't see his foundations.

Money does tend to allow one to become disconnected from reality.
Dubai, UAE
>No he will not and cannot.

Your bar is very high. I hope you practice what you preach.

Personally, I think Bill Gates has been a net positive for the world.
In other words, good founders live by Game Theory?
What's the status on this project? Last release was in 2008, but the dev blog is still being worked on?
Zfs support for docker (beta)
I know SQL.
The way you describe things reminded me of a fairly recent Hacker News post: https://news.ycombinator.com/item?id=8630972

It's a about a blog entry of a self taught programmer who was changing technology stacks back and forth, I suggest you to read it.

As he concludes, the answer is to focus. IMHO if you don't enjoy .Net and you want to change it, go for it; you will need motivation along the way and if certain technology doesn't give it to you then learn something that does and STICK to it.
What about Backbone[1] and Marionette[2] for SPA? Do you have an opinion on those tools?

[1]http://backbonejs.org/

[2]http://marionettejs.com/
Apart from good advice already given in this thread, solving problems with code usually consists of the following actions:

1. Define the problem - think about/write down exactly what you want the final program to do.

2. Break it down into smaller problems, then break those further, right down to the smallest.

3. Solve the small problems individually, one by one.
Not-an-expert-disclaimer here.

First of, believe in yourself. This sounds clinched, but what I mean that you should do is dare to take on more responsibility.

Presumably you don't advertise yourself as 'experienced' when applying for the job openings because you feel you won't be able to add value the the company you're applying to. I presume you don't trust yourself to be able to complete the tasks the company will ask of you and that you refuse to have the company lose money because of you.

The solution, in my opinion, is to inflate instead of deflate what you've done. Even if you yourself don't believe it amounted to much: having 'built a custom cms' on your cv will, if phrased the right way, sound like 'experience' to potential employers. You're not lying when you do this. You _have_ built that CMS, and even if it seemed simple it still counts for something.

I can honestly say that I've written accounting software for the marketing department of a certain company. On my cv this sounds impressive, and I've actually done it. In reality it came down to 500 lines of (very ugly)VBAv6 code in excel. Do I think it's the best work I've ever done? No, but I did do it.

Next, perhaps you don't realize this, but after a certain point the language you program in matters less and less. You see what's important in programming is not the languages that you know but the paradigms that you've mastered and the intuition you develop for doing things in a certain way. In C# you've learned object oriented programming. This experience is much more valualbe to you than knowledge of C# itself. With you having played around in Java, C#, Phyton it sounds to me that you've sampled allot of different ways of getting stuff done with programming.

And you do _know_ this, even if it seems so simple to you, putting on your cv 'two years experience with OOP' is true and a valid way of advertising yourself. Allow yourself to advertise the 'generic' programming skills you've learned with C# when applying for openings that require Java. You're not lying, and you'll see that you can live up to the challenges your future employer has in store for you.

When I wrote that VBA application I hadn't written a single line of VBA in my entire life, and while the source is a mess (I don't envy the person who needs to fix something in the future...) the program does work.

You _must_ trust yourself to be able to tackle the problems that could be thrown your way by your employer. That way you won't feel guilty when applying for a job and you can say that you are, in fact, experienced, which you are.
Don't take this advice. Don't pretend you have skills that you don't. Also, this guy obviously doesn't know what he's talking about because "Web 2.0" implies social features. The biggest red flag I ever see on a resume is someone incorrectly using Web 2.0 (and anyone who actually knows what it means won't use it).

The description was also vague and contained multiple grammatical errors. Yikes.