skysight-inc/HackerNews huggingface dataset:
> You're trying to convince yourself that you made the right choice, the right investment.

> That's sad.

Err, huh? What's with the preachy tone and the presumptuos attitude there? No, I don't need to convince myself, nor am I looking for confirmation - I know that I'm happier coding in Python than I was coding in PHP, that I get more done in less time, that I've vastly increased the average reusability of code that I write, and that it blows up less in production.

> Have confidence in yourself. You made the right choice for yourself and let others choose for themselves.

That's not what this is about. It's about how I didn't make a conscious choice to use PHP back then - nor would I have if I had been in a position to make a choice. I believe the same is true for many others, so how do we get to a point where they have the facts to make a choice?

> Python on the other hand ... aside from Google, who's using it at a massive scale? Even Google has been shifting to Java for a long time.

Shrug. It's you who's playing up the PHP vs. Python angle here, really -- for me there's plenty of stuff out there that's better than PHP, not just Python.

> If you're convinced that there is no proper application for PHP, then you're not even trying to be objective ... you're just trying to make yourself feel better about the choices you made.

Actually I think there are circumstances where PHP is the right choice, though it's mostly a matter of market considerations, certainly not technical strength.
Back up there EvilTerran. Let's take a couple of steps back in this thread. I originally took issue with the OP because his piece was nothing short of a rant. I've spent the last 11+ years of my professional life developing with PHP. So I expect far more than what I read from someone like Jeff .. and was reasonable enough to let him challenge me to prove the errors of my way.

I also took issue because he didn't point out any actual problems or solutions .. rather he just blanketed PHP as a problem in and of itself and his solution was to replace it. This is not the kind of thing I'd expect from someone like Jeff who runs a site that points out in great detail programming flaws not just making hearsay.

Anyway, then you came along taking offence to my use of the f word. I'm sorry you take offence to harsh language but that's not my problem. Your first response to me added NOTHING to the conversation apart from your own very strange opinion of me because of two words I had said. I figured you where a troll so gave you the response I did. Then I thought hang on, let's check this guy out and see what we can glean from his past posts. You have been active for almost 100 days and your posts seem to point to you being a nice enough guy, so I figured you deserved more than my first general reply.

I also note that you just got your CS degree. Well done, and I hope you have a long fruitful career, I really do.
The most obvious bit is RIM hasn't ever allowed self-signed code on the BlackBerry. It's not obvious from the user end (as they support sideloading just like Android), but you have to request a cert from them and dial home every time you sign (even for dev builds).

Also, when you say "secure Linux foundation", realize that the vast majority of Android phones get rooted[0], which would allow for circumventing their security and enterprise controls (ex: disabling the camera, kill switches, restricting apps, monitoring usage, etc.). Part of RIM's appeal has been their relative immunity to rooting; they'd have to be able to prove their variant of Android is notably more secure than AOSP (else there's no advantage)

[0] by which I mean models that can be rooted, not individual phones that have been rooted
I don't know enough about MySQL vs Postgres or RedHat vs Ubuntu to make a point with them, but sometimes it's not about being cool.

Apache is a webserver from 1995. It uses a process (sometimes a thread) per request, a architectural decision which made it nearly fundamentally incapable of solving the C10K problem. Only back in January was the Event MPM added (and it's still experimental), allowing you to have many Keep-Alive connections open at once without degrading performance. Nginx was started in 2004, and is event-based allowing for much higher concurrency. (Yes, I'm hand waving.)

PHP is among the worst languages most sane programmers have ever used. The referenced article, "A Fractal of Bad Design" is a pretty good starting point if you want more details on why it sucks. PHP stands for letting amateurs code effectively. Python is designed with an emphasis on readability, and manages to have a rational type system and a fairly regular standard library.

Apache vs Nginx is about learning from the mistakes of your ancestors. Apache was designed with the 90s in mind, and our technology has moved on to the point where the decisions made in its architecture simply don't work anymore.

PHP vs Python is about being a rational, non-masochistic, human being.

To say what is cool "has nothing to do with any objective qualities of the [technologies involved]" is to know nothing about programming as a business.
Big updates to Google Apps Script
> Two thirds of that list are actually incorrect.

Got a link to a good rebuttal?
Actually his reply does make sense, because the Surface is Microsoft telling the OEMs that a). bloatware is just that - bloat, and b). that OEMs create product ranges with herds of models per range.

Phone manufacturers like HTC/Sony/et al are doing the same with Android.

In other words, that's why one might argue that OEMs are to blame.
My point is that "ease" of "Hello World" does not translate to "ease" of developing [anything 'real'].
You have just mixed HTML and server code. You fail.
...

Chrome on iOS is using the native iOS render, IIRC. So wouldn't this test be testing the same thing?
I suggest until Amazon uses RDS For their database - that you don't either...
Whenever you see something like '9234d87d07ad4a3f', you know that is hex. Whenever you see something like 'Kfj+sS8Absa==', it is a good bet it is base64. Hex uses 0-9,a-f (16 digits), base64 uses A-Z,a-z,0-9,/,+ (64 digits).
require 'net/http'
puts Net::HTTP.get(URI.parse('http://news.ycombinator.com')).gsub('Hacker', 'Interwebz')

I'm confused. Where's the edge?

Or, even simpler,

require 'open-uri'
puts open('http://news.ycombinator.com').read.gsub('Hacker', 'Interwebz')
If this is truly interesting to you and you want to get your hands on something similar, an arduino board can be had for $25-$50 and all of the sensors and more are available from sparkfun.com or other similar sites.
Pandas (Python data analysis tookit) version 0.8.0 released
Nobody's asking you to like PHP. I'm explaining why it's effective; if you'd like to build something better, there are affirmative lessons to learn from PHP's undeniable successes. While your point about Erlang is correct for pure PHP, one of the nice things about the "curl as concurrency model" world is that the thing on the other end of the curl doesn't have to be PHP, or stateless.

Getting "hard problems" right by realizing they're intractable and refusing to solve them is a perfectly valid system design choice, even though it drives people up a wall when they first encounter it. For an example that has stood the test of time, check out UNIX's handling of the "PC-losering" problem: http://dreamsongs.com/WIB.html. When modern systems people read about this controversy, it seems kind of insane; of course system calls can be interrupted, and of course you don't want the OS to be magically trying to make them look transactional by backing up and restarting your system call when the world is really in an unknown and unknowable state. Ctl-C on a read() shouldn't restart the read(), unless the application thinks it should, and only the app really knows. EINTR was the non-solution that acknowledged the intractability of solution.

Historically, UNIX is a "worse-is-better" system not unlike PHP. I claim anyone designing a new system from scratch to replace it should learn from it, though, both mistakes and successes. PHP is not free of successes.
> Linux (over OSX) does actually have a package system

I found running a VM on my mac to be the best of both worlds. Plus you can backup and distribute your VM so the entire team develops on the same setup.
Chrome on Android is real chrome. Chrome on iOS is, different.
Cut Facebook Ads? Here's What Chevy is Really Doing.
Actually, I find Python and Ruby much more interesting than Java (actually, Java seems as a boring language :) ) . But since Java is general purpose language and it's known as market skill, I want go for it.
Fair enough;the distinction is subtle. Python uses native system threads and of course such threads are scheduled by the OS. But in practice, the GIL allows only one thread to run at a time unless the GIL is subverted via C extensions or similar. I get why this is, given Python's architecture and the legacy of the GIL (which dates to the late 90s, when multicore machines were relatively rare and expensive).

But it's still not the case that multiple threads "normally" run in parallel, with the OS ensuring fairness, which is what (I think) most programmers would expect threads to do in a general-purpose threaded language.
Microsoft's whole business is based on commoditizing hardware so they can profit more from software. This trainwreck has been in the making since the mid 80's.

How can an OEM differentiate if the whole point of making a PC is to build a machine compatible (as in "identical") to just about every other? It's painfully obvious playing this game has effectively cut their margins to zero.

But yes. You can blame the OEMs for willingly yield control over their products to Microsoft. At the time, it even made sense.
You have to choose between all the same kind of stuff with PHP too. The position was "I'm using PHP, and I can't switch to another language because I am afraid I'll pick the wrong one". That position is silly, because anything you pick is guaranteed to be better than PHP. There's no "wrong" between python and ruby, they are for all intents and purposes the same.

As for your specific case, writing your own framework in lua doesn't make ruby a wrong choice. You could have written your own framework in ruby too. Or perl, or python, or even one of those dreaded compiled languages.
I'm in the same boat. I'm usually too exhausted from working/commuting for 11 hours a day to actually want to do anything at home.
Looks like Mozilla clears placeholders on focus, while Chrome and Safari clear on the first input. In Internet Explorer they don't show up at all...
Ask HN: how do I ask for a raise in my salary?
I have an engineering degree, and I was offered a job after a few months of searching. They offered me $45,000 and I took it knowing that I would have to do a bit of training to get acquainted with the sector. I adjusted a lot faster than expected. It has almost been a year, and I was poking around our network and found the job descriptions for the company. Low and behold my title and job description gave a salary range of $55-70,000. I have been doing my job as well as helping to automate a lot of the procedures and tasks, improving the speed and efficiency of all the members of a team that I manage, who all have more experience in the sector than I have been alive.

My title is Analyst but I am also our tech expert/support and team leader of 4 others.

I feel I far exceed my job description and would like to renegotiate my salary to the base of the specturm ($55,000) plus a %10 raise for exceptional work for the past year.

Is that too much to ask, and how do I go about it without seeming like a self-righteous/greedy ass?
No, not exactly.

Chrome is using the web view without JIT compiling for JavaScript that Safari can take advantage of. That being said, it's not something that's surprising. It's a known issue.
No, apps using UIWebView don't get the "fast" JS engine, for security reasons. Only MobileSafari has that.

EDIT: Gah, beaten by a few seconds by jasonlotito.
> Any major websites done on Lisp

Does Hacker News count?
Introducing issue2pr
Can't you tell management that it isn't as reliable as they claim?
It looks better and feels snappier, so these tests are surprising...
It's a security thing. Making a dynamic language (or even a static language) perform well means that you have to generate machine code at runtime, because much of the information required for optimization is only available then. But, to run those instructions, you need a writable and executable page of memory. The problem is that having writable and executable pages means that a poorly written loop or string operation can also write code to memory and execute it. So Apple made the decision to W^X (write xor execute) app memory that's not their Safari app so that poorly-programmed apps don't leak user data or compromise the OS. It also conveniently prevents apps from running code that Apple didn't approve, which is probably what they really care about.

Anyway, Apple's business model seems to preclude neat software. Use Android or a laptop if you want a good Chrome experience.
I can tell you beyond a shadow of a doubt that a LOT of Microsoft's MSPs ("managed service providers") and other hosters are totally screwed by Office365 and not happy about it in the slightest. Microsoft is offering a vastly superior product at a much lower price than any of their partners.

There's still some opportunities (especially with Lync), for 3rd parties, but overall the pool dried up a ton. Some partners will be OK, a lot will go crazy (Apptix/Mailstreet jacked my pricing from $12/mailbox/month to $35!), and some will focus on special niches. But the era of just popping up Exchange and selling that is pretty gone since O365 came around. (MS BPOS before O365 was similar, but wasn't nearly as slick, cheap, or promoted as O365.)

The reseller you deal with would be much happier charging you $15/month for a mailbox than getting a $1/month back from Office365 when he signs you up after "evaluating" your needs.
From what I understand, Chrome (and any non-native app) doesn't have access to the JavaScript engine that Safari does. That's why the JavaScript benchmark results are so disparate between Safari and Chrome for iOS.
I tend to use whiteboards with a team who are all in the room with me, rather than as an individual (although I'm thinking of installing one in my home office, just to see how useful it would be). The iPad is less useful in this case, although I suppose you could get a big TV screen connected (or apple tv). Also, there are apps specifically designed to take and share photos of physical whiteboards…

The real killer for me is still the lag. Handwriting is just painful, although perhaps simple diagrams are not so bad? It seems to me that an Android tablet could distinguish itself by providing both very low lag with something like the Wacom accuracy. The iPad is unlikely to ever reach the ideal 1 ms lag -- I suspect the retina displays have relatively high response times (but have no evidence).
Exactly the reason why I am so paranoid about third party APIs. I even asked this over a HN post here but did not get much response.

http://news.ycombinator.com/item?id=4162370
It better be bigger than Android...which I think at last count is powering something like 400 million devices (a million more per day).
Not saying it should deter you, but there are a LOT of sites that already do this. The first that I know of was either "shouldexist.org"[1] or "The Halfbakery"[2], but there are more.
[1] - http://shouldexist.org/

[2] = http://halfbakery.com

http://Thinkcycle.org

http://ideaexplore.net/

http://www.whynot.net/

http://www.globalideasbank.org/site/home/

http://www.ideas4all.com/

http://www.springwise.com/ideas/

Most of them are in various states of sucking, but Springwise looks pretty nice, and I like the half-bakery if only for nostalgia.
> Kernighan and Richie's The C Programming Language is one
> of most popular, if not the most popular, programming books,
> and it defined the ANSI standard.

Wait, what? ANSI defined the ANSI standard, which had quite a few additions from K&R C. It'd be more proper to say that the book defined C itself before the publication of the standard.
This is a good move. I'm glad Adobe is coming to terms with the end of Flash. Moving resources away from Flash to other areas where Adobe is successful is a win for everyone.
Whatever language you are fluent in, its going to be difficult to switch to another language. Sure, I get the syntactical sexiness of Python, but learning its proclivities really would take years.

The fact is that my comfort with PHP stems from knowing what I know, knowing there are things I don't know, knowing there are unknowns I don't know, and knowing there are unknowns that are unknown. (Thanks, Rumsfeld)

Its this grasp on the language that gives me comfort. Mix that in with the universality of PHP and I'm more than willing to take my lumps for being told I solve problems using a shitty language.

There are shitty guns and shitty marksman. A good marksman can kill you with a shitty gun, but a shitty marksman will always be a shitty marksman.
While I find Ruby to be nice overall, you're wrong on several points:

- Whether or not Python was historically OO or not, everything in Python is now an object. Its love for protocols drives design like `str(foo)` (which calls `foo.__str__()`), not any particular deficiency in its object system

- Python's lambdas are indeed limited, but one can easily use `def` and just name the function. Functions are first class, after all

- Metaprogramming facilities are very similar in power. Neither language has macros.

- Python tends insist on not duplicating things (i.e. both indentation and braces/end) and on not being ambiguous. There is another reason Python can't omit braces for function calls: without braces, they are references to the function. As a consequence, Python doesn't need things like .call()

Overall, I haven't seen one language or the other to be more powerful.
That's php, just cleaner. If we don't recognize that as one of php's strength we're doomed to fail.

Of course once you master it, you separate the code from the html and call it from the view like this:

hello.nxt

name = request.get('name','world')
list = ['this','language','rocks']
response.render('hello.html',name,list)

hello.html

<h1>Hello {{ name.upper }}</h1>
<ul>
{% for item in list %}
<li>{{ item }}</li>
{% endfor %}
</ul>

But what do I know about language design or human behavior?
Would the DoD be producing the code, though, or contracting it out? If that latter, that would seem to me to constitute "selling", as the producer would be paid to write the code, then give it to the customer.
My point is this whole thread, the article linked, my reply, your reply. Who cares?
There's a delicate balance between healthy skepticism that comes from experience, and enthusiasm for trying new things.

Going with cool new things for everything is very risky. This is terrible for established businesses, it's great for startups with no legacy and no pressure to maintain inertia. There cultural differences are endemic to the realities of both types of businesses and aren't just the product of politics.
Heh, that's kind of the most important part of the story. I guess it wasn't masturbatory enough to rack up page views with the truth left in.
The Sound of Trouble Knocking – A Call from Google Places India
As a customer I care, deeply, about a sincere apology.

Take the time to help your customers, even if it means circumventing your system. Walk the 3 feet to talk to the chef. Send someone a check if your system can’t do refunds. Give someone another game if it turns out your games only work on PC.

And when that doesn't pan out, a sincere apology can still go a very long way.
Ask HN: Free web host to test javascript?
I have been playing with javascript to interact with an html canvas, and I'd like to test a simple program on a couple devices. Is there a reasonable free host to upload a single html/js file to? I don't want to deal with configuring my own server, I just want a quick free subdomain to test the script.
The fear of making the "wrong" choice actually makes the familiar, mastered PHP more attractive.

The multi-core reality means that the long-term languages will have a strong concurrency model. Clojure and Go are two languages with strong concurrency models that are building momentum and have potential to go mainstream.

But for your first foray out of PHP, I would pick a language that has a large, well-established community with mounds of documentation, books, and resources.

My path out of PHP would be:

1. Python
2. Clojure
3. Go

Learn Python first because it's easy to learn, easy to read, and it's taught at major universities so it's easy to find smart people to help. It has a large community behind it, which is still building momentum, and it has a huge library so it's generally more useful than Ruby.

Then once you're comfortable with Python, I would venture into Clojure. It's different, but in a good way. And you get access to all of Java's libraries so it's practical now, even though it's relatively new.

And then look at Go. Go is building momentum fast, but right now it doesn't have the massive libraries that Python and Clojure have. However, in a few years, this will change.
Oh you're right. A friend of mine showed me that Sparrow has finally got push notifications so I assumed they had given in. Never thought that it was because he is running a jailbroken device. Darn Apple :/
$Response = stopAllThisPHPBashing(please);
Look, I get that purists hate PHP for lots of reasons. I also get that its easy to make a mess out of what ever your building because you aren't forced into an organization scheme that is common to the language. I even get that the constructs of PHP themselves are somewhat haphazardly implemented.

Here's what I propose instead of shamelessly flaming PHP even if its to point out how you always use it even though you think that you shouldn't.

Fix it! If the hammer is missing the part that is useful or intuitive to you then why not go out and participate in the comunity and make PHP better.

You all live live and work with PHP - stop complaining and take some ownership. That's what opensource is all about!
There's a bit of a false dichotomy there. You don't just have to immediately switch or not. It's worthwhile to learn new languages regularly, whether you use them professionally or not. Keep working in PHP and do a small project in something else. Easy transition if you keep going deeper into this new language, or easy to change your mind and go back to PHP.
1. Go interview and get a competing offer.

2. "It's been a year since I've started working here and I'd like a raise to bring my salary in line with market rates, please." Note that #1 will give you a more accurate sense of market rates.
If malware authors ever learn how to spell we're all screwed
What's wrong with storing it as a float? I'm not saying you're wrong, I just genuinely don't know. If you could explain/point me to relevant literature I'd be grateful.
Youtube: a low and lightweight version.
Yep and that's true of everyone who's ever behind a curve when the curve is shifting. The ice cutters knew about refrigeration, but couldn't adapt.

Everyone should be skeptical of claims that include the word "everyone". Here's some history of ice cutters who did adapt; their business established in 1848 is still operating today:

http://www.capepondice.com/company_history.htm
anecdotal-y: I've seen more Nokia smartphones in the northeast (Boston-NYC-Washington DC corridor which I travel through pretty often) post-windows switch than before. Maybe it's the marketing push from AT&T that has helped them sell more smartphone units now vs. in the past