skysight-inc/HackerNews huggingface dataset:
"In other words, he's not seeking to optimize his relationship with other people so much as he is finding a convenient excuse for not seeing other people at all."

Which is sort of foolish. A big problem with being hyper efficient and blocking out assorted noise and distraction is that you end up filtering out serendipity. You become very efficient at some local maxima. If nothing else you risk missing out on learning about some new, better way to be efficient, but mostly you miss out on the weird random stuff that comes from the odd conversation with people.

It's like people who only listen to [right|left]-wing radio or follow [right|left]-wing Web sites. You get really good at reinforcing the same beliefs and attitudes. (Same is true for people who stop paying attention to new other programming languages and paradigms.)

I've reduced the number of local gatherings and general conferences I attend because of, overall, a poor return on the time invested vs tasks I want to complete, but don't want to become a hermit altogether because at the better gatherings there's a reasonable chance I'll learn about something interesting out of the blue.
As there's no apparent attribution, the content is being used in violation of the Wikipedia license.
Best if there is an obvious connection between the the two domain names, like wonderful-name.de and the-wonderful-name.com or the .com has a hyphen. If there is no obvious connection, there is certainly the potential for confusion.
The logo made me smile... a reference to Ioke's lack of parentheses in comparison to Clojure I'd guess.
Your understanding of software development is limited.

Most real-world software projects aren't the kind of straightforward batch processing jobs you might have done in the mandatory entry-level college programming class that they make engineers take.

They aren't about trying to figure out the input (code) to get the 'expected output' you want.

They are about dealing with user interaction, and users - messy and unpredictable. It's not merely a matter of looking at the possible 'inputs' a user can take and trying to explore all the possible stateful interactions; if the software doesn't do what the user actually needs, or if he can't figure out HOW to make it do what he wants, it's a failure. Figuring that out is called design, and there's no way to 'engineer' that.
It depends on the constants. For example, we rewrote our critical path app server in Java, and now it can handle 6x the load compared to our predecessors' PHP version. Twitter was getting crushed by Ruby performance, so they went to Scala on the JVM. These were clearly worth doing. But using C would only net a few more percent in performance and at best 50% less memory required, at a huge stability risk.
I don't like this at all. "Scaling" usually refers to how easy it is to just add more hardware to the problem.

But the thing that really irks me is the discussion of caching reverse proxies and partial page caching. Those optimization techniques are language independent. While I came to the same conclusions about usually needing these with Ruby, I fully recognize that it's much slower at running complex application logic and doing in-memory operations than other languages like PHP, Java, and even Python.

Instead of arguing that Ruby isn't slow (because it is), I would have argued that the time to build and debug a Ruby app is less than it would have been using other languages. Extensive library support, an active user community, many great tutorials / code snippets, no need to compile, and a pretty flexible syntax make Ruby great for quick development. But let's not pretend we can have our Ruby cake and eat it too.
I am curious, why would you bother with all the regex filtering instead of proper escaping or (even better) using prepared statements?
I'd like to ask you to take your answers to comments on your previous post and place them as one or more comments on that previous post, instead of making yourself a repeated topic for all HN readers to read. I'm concerned about the precedent, of people writing "Ask HN" posts that are not in fact questions that we all deal with and want to see the answers to, but instead are elaborate resume posts.
Ending the Internet’s Trench Warfare
I think I prefer this on Reddit where I first saw it. This is only vaguely topical here.
A while ago I had an argument with a chemical engineer about exactly this. He claimed that software engineering is an immature field and that we will eventually learn how to apply engineering principles to get more reliable programs.

When I countered that you mostly don't even know what you're modelling and that the design state space is much larger in software, he retorted that all sorts of things can go wrong with just a single pipe in a chemical plant but that it doesn't stop reliable plants from being built.

But he didn't get it: that pipe is a component in a well understood framework. It's nothing like the unexpected things you get in software. The software equivalent is that of a buggy component whose specification is well understood - if you rewrite the component, you'll get what you expect. In software, proper specification is the rub.

I have worked with many electrical and electronic engineers (I studied CS) and not one of those engineers was on average better at writing reliable software. They did try hard to specify their systems in advance, but the actual systems soon started diverging from their specifications.

I grant that the absence of evidence is not evidence of absence, but it is equally wrong to keep maintaining in full faith (and without convincing evidence) that software development is an engineering discipline.

I have never seen anyone argue convincingly for nor against the engineering approach in software. If anyone has done a study on this, I would love to read it.
Tried the same thing around 10 using wire I wrapped around a toilet paper roll. Fortunately it just tripped the breaker.
I've been a USAA customer for my entire adult life, and other banks just can't even compare. Their customer service is beyond excellent.

If you qualify for insurance through USAA (by being a current/former member of the US military or a child of a USAA military member), I highly recommend that as well.
Which is why PHP is so much less flexible than JS. Also try this:

$a = 1;
function qqq() {
global $a;
unset( $a );
}
qqq();
var_dump( $a );

P.S.: In PHP 5.1.6 calling unset() actually increases memory usage...
You can save memory by writing a file a byte at a time rather than allocating a buffer. The reason you don't is that it's more efficient to batch that work. Well, the same is true of GC. If you have a million dead objects and a thousand live ones, doing bookkeeping for each dead object is far more expensive (in cycles and bus bandwidth) than just having a copying collector rescue the live objects and then reuse those memory pages en masse.

Once your program's memory footprint is small enough to fit on the machines you're using, making it smaller takes more runtime work but has little benefit.
True, but my point was that it's a bit stupid to say that software development wasn't engineering because it's not predictable. The problem isn't that it isn't predictable, but it's just so complex that errors are made, just like in any engineering project.
Good old Tom Friedman. Even when I actually agree with his point, his writing is so godawfull I want to strangle him. The real competition is between me and my imagination? Really? How do I and my imagination compete exactly? This man should not be allowed to make metaphors.
While Google shouldn't be unhappy with Android's progress in the market, the failure (to this point) in the Nexus One has everything to do with their attempt to flip the distribution channel of consumer phones. If there is any disappointment at Google with Android, its related to the direct to consumer model, and not the phone itself.

Today (in the US), most consumers purchase through retailers (wireless carrier stores and 3rd party retailers), and the phones are directly tied to specific carriers. The Nexus One was an attempt to marginalize this model by providing a direct channel together with a menu of carrier choices for the consumer to pick from. So far, the sales of the Nexus One show that direct to consumer hasn't worked. However, as the choice of carriers available for the Nexus One is just now more plentiful, its a bit premature to judge whether the al-la-carte carrier choice will have significant impact.

The problem I see for the Nexus One is that its now approaching middle-age for a mobile phone, and newer phones are certainly going to emerge in the coming months that steal the attention. So the al-la-carte carrier choice model may be too late in coming to have an impact, and therefore may not be the force for change in how consumers purchase phones and choose carriers.
"Some other guy who other people say is right said something similar. Here is a link to a talk he once did."
I sent you long email describing. Basically I'd like to see public subsidized or free health care at the NHS level (i.e. kind of crap, but good enough), with available free relatively-unregulated private insurance and private care. I figure it would cost $1-2k/person/yr for the public side (excluding old people in medicare, which is another huge problem), which is a lot less than is spent now covering marginally insured people, overhead of medicaid, etc. I'd get employers totally out of the insurance game.

This is politically unpopular (some people WILL get lower quality free care under this plan than they get today, and some people might get lower quality care than under employer-provided care, if they choose to spend the savings on something else like food or education, which might be rational!) Also, I think the US Government is possibly more incompetent in running healthcare (I work in DoD healthcare, so I see this firsthand...) than the UK or Canadians or French.
Yes, but at least you know you're building a bridge. Instead of, say, developing a game and discovering your users want a photo sharing site instead (flickr). That's an extreme example, but it's very rare to build software that doesn't deviate significantly from what is initially specified. You could never engineer in those conditions.

And once you build your bridge, you're finished. It just has to stand there and take the load. It doesn't have to be unpredictably changed over the course of it's lifetime to also function as an airstrip and shopping mall.

Even the simplest of real-world software products you typically need to grow and adapt - sometimes dramatically - over time.
Immutable state is not necessary for scalable concurrency. Exhibit A: The Internet.
I was reading a political piece in Reason this morning and found Tom described thusly: ..Columnist Thomas L. Friedman, the human one-sentence-explanation dispenser... (link: http://reason.com/archives/2010/03/18/the-obama-narrative-na... )

I like Friedman -- in small doses.
If anyone wonders why every JavaScript framework under the sun rolls its own object system, and they're all incompatible, and almost nobody uses native JavaScript alone anymore, this is one of the reasons.
Egh, some of those other languages are more Scheme-like than others. In particular, Javascript is certainly more scheme-like than Java, which lacks even first-class functions, for example. And, well, Python is basically just Lisp with different syntax (or so Norvig claims; I'm not sure I'd go that far: http://norvig.com/python-lisp.html).

So I can't really agree that it's not any more Scheme-like than anything else out there. I do agree it's not particularly Scheme-like.
What do you do when a programmer tells you "this can't be done" (perhaps "... with these resources", including time)?

You're sure to find many others who say "no big problem!"

Which do you believe? The wrong answer can be very expensive either way.

There's a reason why very few '7-80s superminicomputer companies survived the advent of multiprocessors and trying to get their operating system(s) to work reliably with them.

In that case, it was "this will be hard" vs. "not too hard". In most cases, the B team got the nod, and all was well ... until customers with machines in the field started complaining how their shiny new systems would sporadically crash. And the B team couldn't find the problems (or at least very quickly), since among other things they hadn't invested enough in instrumentation and so on. Some companies were lucky enough to get a chance to hire third team who could do it, but I think in most if not all of those cases the company was too injured and too late with a good solution to survive.

ADDED: I should probably qualify this with "it depends a lot on how hard the problem is". I'm used to the domain of hard technical problems because that's mostly how I made my living before retiring. And one advantage of them is the barrier to entry they pose to competitors.

After all, we're here because the problem of developing a really good (easy to use and so on) web shop development system is hard, something where using secret alien technology (http://lispers.org/) can make a big difference, and did.
This is all great and stuff, but will I still be able to run my own web server, SMTP server and SSH server out of my basement? I regard this as imperative, and I've decided not to move to a faster service that filtered ports 22, 25, 80 and maybe others.

Without the ability to actually participate in the ground-state Internet, all the speed in the world will not help us innovate.
In their first 74 days on the market, Flurry estimates that Google has sold 1.14 million Nexus Ones and Droids combined. In the iPhone’s first 74 days on the market, it sold 1 million units.

stop giving excuses. it's pathetic.

Apple sold 1 Million iPhone 3G in 3 days.

Apple sold more than 1 Million iPhone 3GS in 3 days.

So yes, Nexus One is a failure.
I find it hard to believe that the largest cause (or even a significant cause) in the difference of flexibility of two languages is whether or not you can declare variables to belong to a given scope, and to which scope they default to.
5 Ways to Add Time To Your Days
I think the main point is - don't do that, because you can go around regex rewriting. It was an exercise in hacking the regex protection, not in protecting via regex.
Your email was great. You should click "edit" on your post and paste the email over your comment. I'll do the same with mine.

In the meantime, my response was: a totally standard appendectomy for a friend of mine cost tens of thousands of dollars. That isn't a quality of care issue, it isn't a freak incident, it doesn't involve preventative care or externalities. Nobody is comfortable starting a company where they will be instantly bankrupt if their kid's appendix bursts.
$id = (int)$_GET['id'];
The numbers are a red herring. COBRA vs. private health insurance costs are not the issue that should be scaring entrepreneurs.

Thousands of dollars a year in new expenses is not a red herring and is plenty scary. It's not what's important to you, but it is going to be important to a lot of other people.

People who have chosen catastrophic coverage, or who chose to go without health insurance to save money are going to get hit hard by this bill. My guess is a disproportionate number of self-employed people fall into this category.

People will go out of business because of this bill.
Touché. Your point is well-taken and was effortlessly re-enforced this afternoon as, for the first time, I noticed the non-logos of my favorite local dry-cleaners and diner.

Having lived in the Schaumburg area for several months also doubly-reinforces your argument.

Well-Played. Estuary indeed.
I had someone demonstrate to me just how great USAA's mobile banking features were, and immediately I determined that I would get an account with this fantastic bank. Alas, this fellow failed to inform me that the bank was only available to military members. Very disappointing.
Agreed. I think there has been a mass exodus from reddit in the last few weeks. The quality of content there has gone down, and the quality of content here has slid as well as reddit's users bring their brand of news to the site.
Please don't do this. There are proper debuggers for Ruby that you can use to accomplish everything described here and more, and all without opening gaping security holes or beating the metaprogramming facilities in Ruby to a bloody pulp.

Also, I vote for Ruby's new motto to be: "Just because you can, doesn't mean you should."
Impel - HTML5 Javascript ORM
Do you guys have any recommendations - perhaps books and techniques - on how I can gain confidence and become a good salesman?

Practice, practice, practice. Get yourself out there, expose yourself to bad situations, tough questions. Start small if you have to, cold calls, emails, whatever.
Thanks for the info. Do you know where I can read about these policies?
Would you expand on this? Most frameworks share some convenience functions that make working in js or DOM easier and put all of their functions within a particular namespace instead of spamming global. Whats the problem?
I whole heartedly agree. If links like this one keep getting to the front page, HN will suffer because of it.
Develop for Android with Scala
On my second interview at a past role I was asked to create a solution to a simple problem. I thought that what was wanted was something easily extensible.

You can imagine my frustration at the third inverview when I discovered that I was expected to be playing code golf.

Jumping through stupid, invisible hoops is a waste of everyone's time.
Beware of Success
In the '80s I read one of the Digital Press books on the history of minicomputers (from the DEC perspective, e.g. Gordon Bell was one of the authors as I recall), and one of the observations was that the successful ones did an adequate job of everything that was essential.

No one ever bought DEC because they offered great mass storage solutions (and let's not even go into the early RA81; CPUs, on the other hand...). But they did at least an adequate job of every essential thing (documentation, build quality, then the softer stuff) that they succeeded when the vast majority of their peers failed.
I really love my Droid, and generally find Android to be a fairly well-designed SDK, but I also find working in Java really annoying. One of my good friends took the time to make it really easy to develop for Android using Scala instead. Since I know that we have a lot of Android users in these forums who are working on various apps, I thought that this might make the whole experience more pleasant.
Out of curiosity, do these attack vectors still apply to MySQL prepared statements? From his query example, the prepped version would read "SELECT id,name,pass FROM users WHERE id = ? AND pass = ?" and the two parameters would be passed in as an array of strings.
Excercise for the reader: which of the 4 classes do you think you most closely fit (Hacker, Architect, Superhero, Mixed)?
No. And it doesn't have anything to do with any deficiency MySQL may have - RDBMS is not an OK replacement for a log file.
Indeed, USAA is great. They're also the least-bad insurance option.

Some of the other service-related credit unions (Navy Federal, Pentagon Federal, Tower Federal (NSA)) are pretty decent too.
This kind of a bind is available in dojo via dojo.hitch and in google closure via goog.bind (make sure to require goog.base)

There's a $.hitch plugin in JQuery, it doesn't come with it by default.
Medical science intrigued by a girl that does not age or grow old.
It's the weekend. The front page is often a little more light and off-topic on the weekends.
I'm doing a video on this very topic with a great software salesman (security to enterprise) for http://tractionbook.com. Please stay tuned.

I've decided that I need to do more of these "vertical" videos in addition to entrepreneur traction stories. If there are particular aspects you want me to cover, or other topics (in other videos, e.g. SEO), please let me know.
Is it not ironical if at 0130 hrs in the morning, i could not sleep and start browsing hn and i get to see an article that tells me to get a good sleep and life ?
Nella piazza Pdl ragazzi pagati: la testimonianza
global $a in PHP is just another way to write
$a =& $GLOBALS['a'];

I.e. you just create reference to a global variable. Unsetting reference just breaks the tie between variable name and content.
"(BTW, if you want, you could build a mathematical model of every program. 100% predictable)"

No, you can't - and provably so. (http://en.wikipedia.org/wiki/Halting_problem)

Even in the real world, you have user interaction - and their usage of your software isn't predictable, even if your code mostly is. Your codebase might be totally rock-solid, but users have a way of rapidly demonstrating that your assumptions were totally off-base.

There is some art, and some engineering, but the essence of programming is design. Every decision has costs and benefits. Design decisions aren't right or wrong in the abstract, you're simply trading off one thing for another - (Memory vs. CPU, CAP, etc).

The key is figuring out which benefits and which costs are most suitable for what you're developing - or more accurately, how the software will actually be used (not necessarily the same thing).
> do these attack vectors still apply to MySQL prepared statements?

No.
Brain scans could be marketing tool of the future
Neisseria gonorrhoeae
Neisseria gonorrhoeae is a Gram-negative, kidney-bean-shaped diplococcus measuring 0.6–1 µm in diameter. It is a strict aerobe which requires humidity and CO2 for growth. Optimal growth occurs at 34º–36ºC and a pH range of 7.2–7.6.
0130 hrs IST it is ..
Haha, Friedman belongs nowhere near the New York Times. He'd be better suited as the whacky Social Studies teacher somewhere in the midwest (ok, he reminds me of my old social studies teacher).

Another funny article where Jonah Goldberg has at Mr Friedman:
http://nrd.nationalreview.com/article/?q=ZTMzZTc3YWQ5MTgzN2I...
Ask HN: Review hyperlocal Q&A site askaro.com
I'm seeking feedback on my new startup www.askaro.com. It'a localized Q&A site, that is, questions are geolocated. Answers could include geo information as well. There is a reputation system similar to SO. I think of the site as a hyperlocal community resource, as oppose to hyperlocal news. Still in development, trying to get to "market fitness".<p>Runs on GAE, written in python.<p>Thanks
Must be Erlang time again.
I don't think you're correct. I've read the Senate bill, though perhaps not as carefully as you have. I don't see where it says high-deductable plans don't qualify as health insurance for the purpose of satisfying the mandate.

I don't care about the people who choose to go without health insurance to save money. I wind up paying for them when they get hit by a car, when their appendix bursts, when they have a freak aneuryism, or when they fall down their stairs.

The same arguments suggest that people who drive infrequently and carefully should be allowed to forgo car insurance. After all, you can always sue them when something goes wrong with their plan!
Good example for two of the biggest wrongs with ruby.

First wrong would be that it doesn't emit a useful error message in first place. Not sure why that is the case, but e.g. python would always include the value it failed on in a DivByZero Exception.

Second wrong would be that these kind of hacks seem to be widely accepted in the ruby community. Only because you can doesn't mean you should. DRY and conciseness are worthy goals, but not at the expense of sanity please.
Interesting graph -net effect on (US) deficit from major reconciliation bills