skysight-inc/HackerNews huggingface dataset:
Yes, that people constantly bash PHP. I mean, it's the only strictly derivable answer. And also the only explanation that accounts for the fact that developers who do make a living off our usage of PHP keep answering with the same wording: It does work for all of us.

Now, like someone else said at some point in this other PHP-bashing thread; provide me with a means of deploying flask (a tool that I currently also work with) that fits in a tweet and you have my sincere commitment to drop PHP altogether.

A free Python/Ruby/Node hosting that makes sense would really work as a promotion tool too.

EDITED TO ADD:

As a reference, deployment of a new server currently goes kind of like this for us:

apt-get install lamp-server^ && $ curl -s http://getcomposer.org/installer | php && php composer install
It's self-evident that people aren't giving $100 to PBS because they really want the PBS-logo beer cozy and can't find it cheaper or easier elsewhere.

That's a donation, and along with it the donor does some advertising exposure via the cozy.
In my experience, I have three choices: I can have a poor Linux environment with no work, a better but still mediocre Windows/OS X environment with little work or a good Linux environment with a bit of work.

The reason I don't use Windows or OS X any more (and I've used both extensively in the past) is simple: sure, both are easier to set up (with a new computer, there is no set up). But both are strictly less productive than a good Linux setup is.

The reasoning is simple: setting up a computer is a basically an O(1) operation. Sure the constant may be high, but it's just that: a constant. On the other hand, the drain on productivity of using OS X or Windows is in O(n) where n is how much programming I do. And, happily, I do a lot of programming.

So I've never understood the rather condescending argument of simply getting your actual job done. People using Linux aren't all shortsighted or masochists! We use it because we want to get real work done faster.
Apple granted pre-trial injunction against Galaxy Nexus
Wonderful! Remember those words when you encounter a program that "encourages" you to master quantum physics, tort law for interstate commerce, and accounting for mergers and acquisitions before you're allowed to use it.
No, that part still might be bad.

The advantage it has is that you can run a ton of hosted sites on one mod_php apache server. With Rails, for example, you have to run an environment. Same with many Python apps, or Java, etc.

So it has the memory advantage of being able to run multiple sites on one environment.

Not that big a deal if you're doing any serious deployment, but a big deal for its ubiquitous nature.
Apple Founder “Woz” Defends Megaupload
Ask HN: Why do people hire experience based on time instead of actuality?
I've seen this so many times before. "Looking for someone with 10+ years Java experience". I've talked to recruiters who throw out resumes unless they have that date. I talked to managers who also do the same thing.

What is the relationship between time spent and the knowledge gained of a skill/language?

Anecdotally, I know people who in 1 month would know 1000x more about Java who knows the people who have 10. By the 3rd year, they would have already rewrote the JVM to their own liking and by the 5th year, they would have given up on Java and wrote their own after explaining in great detail the structural defects of Java and it's relationship to the CPU.

This person could have done the work the manager was looking for with only 3 months Java experience.

There is a near infinite amount of ways of screening a person to understand if they should be investigated further. Yet the most common way used by the vast majority of companies in this world is time.

Why is this?
You do not need to be a writer to write, a driver to drive, a cook to cook, a runner to run, or a businessperson to conduct business...and you don't need to be a programmer to program.
The Emotional Story of Reddit's Start & Sale
How do you deal with the user forgetting their password in this case?
But you do know what a function is? Or a class? Or an object? It is not like those are non-trivial already or that knowing what a lambda is needs years of studies if you understood these things.

The fatal flaw in the "PHP is simple"-Argument is that its actually not simpler than other things (I wouldn't say that its harder either). Sure, it gets stuff done (tm), but so do others, also without any deep knowledge. They may not be Lisps or Haskells, but Ruby and Python are coming close.

The problem I have with the PHP community is that "its so easy to start" seems to be their main argument. Wouldn't the world be a better place if we had an easy to start stack _without_ a shitty language?
I still think your position is unreasonable, because your inherent assumption is that the GIL is a "problem" that needs a "fix." This terminology is appropriate for a situation where the status quo could be improved without giving up any of the benefits of the current implementation. But this is not the case; removing the GIL in the way you advocate would add CPU and memory overhead that everyone would pay, even in the single-threaded case. And this is to say nothing of the practical problems of maintaining compatibility with existing C extensions.

The GIL is not a bug, it's a threading model. You wish the threading model was something else. You insist on your particular vision of an alternative threading model without acknowledging its downsides. You make no indication that you have actually considered or tried the alternative concurrency models that CPython does support, like multiprocessing, greenlets, or independent processes. You make no objective arguments for why your desired threading model is better than the ones that are currently available, except that you could avoid changing your code. You accuse Python of failing to live up to some accepted standard for what a "thread" should be, when in fact no such standard exists, especially for high-level, dynamically-typed languages like Python. If anything, newer languages are moving away from shared-state concurrency; see Erlang, Go, and Rust.

I don't think you have malicious intentions, but I urge you to reflect on what you are demanding and whether it is reasonable. What may look to you like "obvious" brokenness that demands an "obvious" fix is really a lot less clear-cut than you seem to think it is. I feel for the Python developers who have to deal with this complaining all the time.
Games.

You don't want the user to accidentally drag your images all over the screen when he is trying to click on them (happens daily when I test the games I work on).
The problem isn't bad design like this author thinks. The problem is that designers use infographics to display information that doesn't have enough data points or dimensions to require plotting. Most of the time, infographics only express a few sentences' worth of information.
Someone Stole Sherlock's 300,000 Likes
Two copies solves more problems than it wastes space.

What you're describing is concurrent access to a shared resource, which means we now need to start having the following discussions:

- Who's accessing?
- Where's the thing they're accessing?
- When are they starting?
- When are they done?
- What happens if they stop talking without saying goodbye?
- What happens if changes from User A happen before User B gets a full copy of the starting work object?
- What happens if User B deletes everything? Should she be able to?
- How do we manage identity?
- What happens if the work object is asked to save but is in an incomplete or non-logical state?
- What happens if the work object is damaged?

(Now multiply the word 'user' by multiple axes: actual humans, programs, network services, filesystem services)

This is an awful, awful, awful lot of work designed to save the space used by a duplicate 300KB .PPTX file. And frankly, I've only ever seen SubEthaEdit get it right.

Also: the user will never, ever, ever, ever decide to review or delete an old file. That's shit-work, and we are mortal.

A majority of customers aren't even aware that there can be multiple versions of the same work or that the work they're doing can be expressed discretely - they're just doing stuff, and cannot be expected to think about about stuff--.

So in short, let's waste some space and save some hassle. That's what flash chips are for.
Normally when I see accusations of entitlement, it's quickly answered by people who deny it or otherwise reveal their entitlement via their ignorance of the problem. I truly hope that I'm not engaging in that, but I don't understand the "entitlement" aspect.

I guess I'm confused as to what technical entitlement is? At some points in the article it seems to simply be technical ability? Or is it technical ability that's used (purposefully?) to put down others? The article seems to place a girl soldering at a young age in with people who demean those who score low on a test all under an umbrella of "entitled". But I'm not sure this is intentional.

>I know logically that I’m pretty good. But I never feel like I’m as good, or as experienced, as everyone else. I always feel like I’m behind, trying to catch up to a group of super-elites who’ve been programming since they could walk.

This is how I feel all day, every day and yet because I started before my peers and was a helpful resource when we were in our first CS classes they regard me in this manner. Most of the time I have to shrug and say "I don't know" which they find surprising. Which leads back to me feeling like I'm trying to catch up with those people that do know it all. (Then again, I also acknowledge that some people know more about somethings [surely many things] than I do, but there are probably some things that I know more about. We are the sum of our experiences after all). I think there is always someone who knows more, and someone who knows less. I try to use that as motivation to learn more and get better.

I think maybe I just take issue with the word "entitlement". It has a different connotation to me.

I think I agree with the conclusion of the post. There's almost two issues at the heart of this. On one hand, it's hard to enter any field when your peers have an upper-hand of any kind. On the other, your peers can do things to make the field more approachable - like not be jerks, be helpful, etc.

Unfortunately, I'm not sure how one solves this problem. Some people are destined to be jerks, and when they see a strength over someone else, they will use it to make themselves feel better. :(

((Just read the bio, I'm also an SDE Intern at MS. Small, small world.))
Or install AdBlock guiltfree because the website is obviously hostile beyond forgiveness.
> I have no idea how this would translate into the world of Windows though.

Spend an hour downloading Visual C++ Express (assuming it works in express, otherwise buy the professional version). Try to fix any build errors (not an easy task if you're not a programmer). Install NSIS and any installer dependencies. Make sure the binary is in the right place. etc.
The EFF appears to be asking the government to regulate the Internet. That's a bit of a change from their usual behavior.
"[php solves problems etc] but it's deeply flawed.
[...] I promised my next project i would code in something else
[...] but i went right back to PHP"

This really struck a cord here... Is that the first signal that tomorrow I will be the Cobol guys of yesterday today?

Or is it just a signal that PHP is indeed damn practical for web prototypes that tend to overgrow?

i'm pretty comfortable dumping C and assembly to microcontrolers (kidding, nobody is. damn datasheets full of mistakes) and automating every bit of what i do in bash and python. but i can't get away from PHP for web crap!
I think something like Bootstrap is fine for any "web app"; working with a "standard" takes care of a lot of the details, and saves a hell of a lot of time. Maybe it's many years of Windows development, but it's kind of nice working to a Common User Interface.
I'm in the same boat as you. I don't really know what she's talking about. Is this like the kid that started playing baseball when he was 4 and ends up better than everyone else in middle school? Or am I missing it completely...
And what exactly prevents you from getting stuff done using other tools? Are you saying that only PHP let's you get stuff done?
If I understood correctly, it's the attitude that one's technical accomplishments (especially at a young age) serve as proof of superiority over others.

I agree that it's a problem, and I look forward to the discussion on HN about how to not only avoid it ourselves but how to encourage others to do so as well.
SiteKey is completely susceptible to Man-in-the-middle (unless the user is a scrupulous cookie-manager and refuses to re-authenticate a computer more than once), so adds minimal value over regular SSL.
Great post. But why is there a biographic blurb about being a developer at Microsoft at 18 at the end? Isn't this exactly the kind of "in your face, I did cooler things at 18 than you ever will" kind of thing that you are arguing against?

On another note, I think one of the problems in the community is that criticism is directed at people, not their code. We forget that people can and do learn and get better. For an example, read the comments about people who fail the FizzBuzz test, or those who code in PHP.
Oh, common.

Username: ____
Password: ____

Please note that as of June 7th 2012 the system prompt
image identification system has been deprecated and
being replaced with new security measures.

If you have any questions or require assistance, contact
technical support at support@bank.com

How many tech savvy persons would not be even a bit surprised by their bank legitimately doing something as retarded as this?
Don't forget to install any dependencies before you configure, otherwise you might have a shiny new ImageMagick that doesn't support PNGs!
The Cyclical Nature of the Hammer Industry
Getting some piece of FOSS to work on a VPS many years ago was how I got started learning GNU/Linux. I couldn't be more grateful for the pitfalls and minor struggle I had before I could get whatever it was working.

The two also don't compare. Quantum physics is different and more complex than ./configure && make && sudo make install. Also, the user doesn't have to learn any of this and can just make a "donation" if they prefer.
I know logically that I’m pretty good. But I never feel like I’m as good, or as experienced, as everyone else. I always feel like I’m behind, trying to catch up to a group of super-elites who’ve been programming since they could walk.

Me too. I think that for most people, that feeling will never fully go away. It's a common enough sentiment across all disciplines that we have a name for it: http://en.wikipedia.org/wiki/Impostor_syndrome

But, I was confused by this paragraph:

People often cite social ineptitude as a reason for unpleasant behavior in tech. But, frankly, I’m tired of that excuse. The fact is, the behavior that comes from technical entitlement is poisonous.

My confusion is that I don't think of it as an excuse, but as the fundamental reason. The remainder of your post discusses how we can fix the fundamental reason.
totally second aiiane,

I personally think PHP is indeed a mess as a tool, it is sort of a bunch of unorganized stuff that works. I've used it myself though, but found out other stuff like rails for example are simpler and more powerful.

so when it comes to productivity and related stuff, you might question yourself about what tools to choose, which are better and which ones suck.
Intransitive Dice - How to use math to win free drinks from friends
Python could avoid GIL problems with atomicity by implementing actor-based concurrency. Like Erlang or Rust (and unlike Go), actors could send deep copies of objects to each other using channels. Each actor would have its own GIL. To maintain compatibility, C extensions would only run on the primordial actor thread. After some testing, C extensions could opt-in to be multi-actor safe.

If Guido doesn't want to implement actor concurrency within the Python interpreter, someone could write their own Python host that allows multiple, independent instances of the Python embedded interpreter. The host would implement a C extension that allows interpreter instances to send deep copies of objects to each other.
Rumour has it this dude is paying people to post good comments on Reddit- desperate much?? I've seen better start up sites than this- that don't need to give out bribes to get good reviews- sus.
Oh, please. Stop it! Not another fucking PHP vs. the world thread on HN! C'mon kids, get off it!

Any number of us could name tons of very successful (profitable, popular, worth tens, hundreds and billions of dollars) companies that rely to a large extent on PHP.

And the same could be said about a dozen other languages and frameworks.

Be done with this shit, will you? Haven't you had enough?
My understanding of it is that technical entitlement is a characteristic of someone who uses their early and rapid advancements with electronics or computers to be a know it all jerk. The main problem stated here is that they drive people away from the field before they get to honestly evaluate whether or not computer science is a viable career choice for them.

Frankly this isn't new or unique to technology, these people crop up everywhere humans do. Think unapproachable meat head at the gym. What's unique to technology is that it's "ok" or perceived as socially acceptable for technologists to behave this way. It's not.

She closes with (paraphrasing and generalizing) since mainstream society at large thinks its acceptable (if only to be avoided by non-technically inclined people) we need to change the attitude ourselves. From this the technology field will advance with the huge increase in potential talent pool.
This is why you don't run your computer using the default UI theme on the most popular OS.
Fantastic article, odd terminology—I think "pretentiousness" or something else might describe it better.

The author should read the book "The No Asshole Rule" if she hasn't already. I think it explores exactly this phenomenon in the corporate environment and describes how to avoid it.

Lastly, I think you'll find this kind of pretentiousness isn't unique to our field. Anytime you find a large enough group, the assholes will shine through. I'm all for calling attention to them and not letting them control the community though, so you have my full support!
Of course, arrogance and elitism are bad. But I hope tech never stops being a meritocracy.

I would wager that most would-be CS people are put off from the subject not because of the arrogance of current programmers but simply because the subject is hard.
This model only works for unsuccessful software. As soon as the software gets popular somebody will redistribute his binaries in an easily accessible place. Also, like the support model, this creates an incentive for the developers to make their software worse (in this case making it harder to compile).
Is it? From my understanding, he only needs to give the full source (with a GPL license) to people he's distributing the binaries to.
Having hired a lot of people over the years, I can tell that in most cases it's more that the skill-set that an employer is looking for. I can't speak for these hiring managers but what I'm looking for is a well-rounded person that can work with my team. The position requirements are just meant weed out those that don't have specific skills-sets required for the position. If a hiring manager is throwing out resumes of otherwise qualified candidates it's probably not someone you'd want to work for anyway.
http://aws.amazon.com/security/pci-dss-level-1-compliance-fa...

Apparently they are now, yes. Last I checked they weren't and were saying their cloud services were inherently uncertifiable, due to the architecture.
One reason to abstract away strings is that you can gain security. For example, your template might only accept an HTMLString, which can only be created from a String by escaping. Your database library might only accept a QueryEscapedString, and so on.

Of course all of this is possible without creating a wrapper for vanilla strings.
Time is largely correlated to judgement and ability.

Some relevant discussions:

http://www.codinghorror.com/blog/2008/02/the-years-of-experi...

http://workplace.stackexchange.com/questions/1478/how-can-i-...
But then we had to go and make it care about leap seconds...
Can you do that? I.e. launch events on mouse down but not a full "click"?
Did you try the large "Documentation" link at the top?
What if it shows "PHP Parse error: syntax error, unexpected T_VARIABLE in ..." where the confidence word should be? Or better yet "ConfidenceWord database is empty" - something pseudo-techy that clearly implies a temporary f#ckup on bank's side.
Google is doing things the right way
> wants more donations from users

> makes users compile software by hand

> because new users will want to try his software so much that they'll manually build or donate cash to try it
One of the big problems is that there is such a huge range of ability for people who are otherwise, say, in the entering freshman class. A quarter of a century ago (that makes me feel old!) one of the ways which MIT solved the problem was by using Scheme in the intro to CS class. The first lecture was all about abstractions and lambda's, and nothing about Lisp/Scheme syntax --- and the first problem set asked you to code in Scheme. You were expected to figure it all out from the language reference manual.

That was a pretty big leveler back then, because most students, even those who had used a lot of computers in grade school and elementary school, were mostly exposed to Apple II's and TRS-80's and Microsoft Basic. Lisp would have been new to most students. (I had learned PDP-8 assembler around age 7 or 8, and FOCAL a few years earlier, and later some Pascal and C code, and Z80 assembler, but Lisp was pretty new to me.)

These days, it's a lot harder. I suppose the rough equivalent would be handing freshmen a problem set using ML. But I'm not sure Universities could get away with that today. Back then, we had too many people trying to get into computer science, so handing out a problem set w/o any prior instruction and expecting you to learn a new language from the reference manual was part of the filtering process so we wouldn't have too many people trying to become CS majors....
Apple granted preliminary sales ban of Galaxy Nexus
It's just one of the little things, but I'm still very conflicted about print as a function. The reasoning is sound, but I just can't seem to get used to it. It feels especially cluttered and clumsy with new-style string templates:

print('ver: {}'.format(', '.join(str(i) for i in sys.version_info)).upper())

versus:

print 'ver: {}'.format(', '.join(str(i) for i in sys.version_info)).upper()

Despite the more consistent naming (ConfigParser -> configparser), simplified api (iteritems() -> items()) and all other syntactic improvements, I somehow still find 2.x code more enjoyable. Writing small scripts in Python has kind of lost its charm for me.

This, of course, is all very subjective and I'll probably grow over it in a few thousand lines of code. I hope you're all less sensitive to the little things that annoy you.
Are you sure? I see a giant Windows banner here: https://dev.mysql.com/downloads/

You can download that without even registering (tiny link on second page).
Take a common behavior (an desire to show off), give it a special name, now it's a psychological disorder plaguing our community.

Let's be serious now, we all understand that showing off is rude. A great majority of developers both male and female are good enough human beings to avoid being rude. But as with any community, you will have assholes who you'll have to either deal with harshly (e.g kick them out of the event they disrupt) or ignore (as you would when reading Youtube comments).