Tell HN: An Observation - <AUTHOR> For what it's worth, seems to me like nobody is reading the new page much any more.
Used to be I'd submit an article and get 60-150 reads as the article dropped off the new page. Today I submitted an article  http://news.ycombinator.com/item?id=1723576  and got only a couple of dozen.
Now perhaps you guys have managed to figure out that all of my articles suck all of the time, but even then you'd think with 10x the traffic it would still translate into more initial readers from a year ago.
I'm not trying to complain that nobody upvoted my article! Hope it doesn't sound that way. I'm much more interested in the lack of drive-by readers now as opposed to a year ago and what that means for the site.
If you'd like to hear me complain, happy to oblige. Meanwhile the front page has gossip stories about how a lot of Angels are actually assholes, some famous guy quit Oracle, another guy rags on .NET, Uncle Bob is a great person, and more Google/Apple fluff, along with the more usual HN material.
Just seems kind of strange. Don't know about you, but all this industry gossip, fanboy-bait, and the lack of user-generated content drives down the quality for me in a big way. Combine that with a lack of readers from the new page, and it seems like there is a feedback loop setting up. It's not that HN is turning into reddit, but it seems like the mechanism of HN itself has changed significantly. <comment><USER6> I think that the real problem in operation over here is information deluge. People aren't reading stuff on that page because it overflows on a minute by minute basis. So let's say, if I click to read a long article and I come back to upvote it. This would mean that I am putting a flag for others to read it, but in this time frame it has moved beyond the first new page. Hence, the stories that tend to get upvoted are the ones with a recognized tilt that appeals to the lowest common denominator (which is still pretty high, but for how long?)

However not all stories are created equal. Most of the stories on that page are from noob users who want to jack up their karma. Hence, the deluge HN on the weekdays (only dedicated ones stay around on the weekends) leading to this difference between the weekday and weekend articles.

How can we solve this?

One simple way to do this would be to post noobstories _only_ to the noob stories page and sort the entries not by time, but by karma of the user as well as the votes given like the comments.

This way we could have a quasi front page which will create a positive feedback loop. Hence, there will be an implicit reward in going to the new page which will ensure that only the good stories were posted. Also, since older users (by karma, PG's metric) who are more settled in and are less likely to do karma antics it won't overflow every minute or so.

However, this might create a barrier to entry on HN and perhaps that's a good thing. This would force people to comment and get karma before it shows up over there. Hence, ensuring that the quality get maintained.

All in all with the same code behind the comments the new page problem can be solved.

(update: wrote a lot more detail)

<comment><USER7> I think there's another technical solution.

Instead of having a link directly to the article, have the link go to the discussion page instead, but with an added header.

That extra header would check for a cookie. If that cookie is set, no action. If the cookie is not set, set the cookie, then forwards the user to the actual article.

Then, when you finish reading and decide it's worth an up vote, when you go 'back', you're already at the discuss page where you can vote the story itself up, as well as comment on it.

<comment><USER8> I must say, that's a mighty fine idea you have there. Although it may surprise some folks at first. If HN had ads it would seem to be click fraud. Might work as a bookmarklet or browser extension.

<comment><USER7> I was thinking it would be opt-in on the preferences page.

Another option would be an extra link at the end of the headline (like how scribd appears for pdf), but that just ends up looking cluttered.

</comment></comment></comment></comment><comment><USER9> I read HN quite a lot, and I have to say, I rarely get around to reading the New page. Honestly, it takes me a _lot_ of time to just go through most of the stuff that hits the front page (including comments), so I usually don't have the time to check out more articles whose quality hasn't even been vetted.

I think HN really should implement a way around this. The most obvious is to randomly show new articles on the front page, give them a chance to collect some points (if they're good, of course).

<comment><USER10> Currently the front page shows the top 30 articles, so people coming to the site see this by default. Maybe the front page should instead show, for example, 10 of the top articles and 20 new ones, in separate lists.

</comment></comment><comment><USER11> Around this time of day the submissions on the new page go by so fast that only the most juicy stuff makes it to the front page. 4 votes before you scroll off the new page or your article might as well be dead, it's _very_ rare (but it does happen) to see anything get traction afterwards.

And of course you didn't write about a scandal in progress or something like that.

If you write just for the interaction with HN I can imagine that it is hard if your stuff goes by unnoticed, but of course there is no automatic relationship between what you did and how it was received in the past coupled with everything you write in the future.

Maybe simply not enough people thought it was homepage worthy and it is a signal to do better? That's how I interpret it when my stuff slides by without even a single upvote.

(I note that even devmonk who commented did not upvote your submission).

Don't take it so personal, as HN grows this is bound to happen more and more often. I've had it happen to me with an article that was requested by people here, that felt pretty weird too, but there really are no guarantees.

Spray and pray :)

<comment><AUTHOR> Thanks Jacques. As usual, we agree. Sometimes I wonder why I reply to your comments at all, since we agree so much. :)

I think what bugged me was the lack of drive-by readers.

HN is pretty much the only site I submit to. I have no aspirations of blogging as a business. I blog because I want to, and I'd blog if nobody came by. So heck with the score or the front-page status. And no, it doesn't bug me that a large percentage of what I write is not home-page material. That's okay too. Hey, I got used to being a mediocre writer many years ago. It's all spray and pray now.

The problem is that as a submitter you'd at least like to get a decent second set of eyeballs on your work. The value the site provides to me as a submitter isn't making the front page -- it's getting the feedback from readers. No initial readers, no feedback (good or bad)

Sure, there is a bit of sour grapes here. I guess you'd think if you spent a long time writing something that in return you'd at least receive a reasonable review. But if the average number of initial reviewers is decreasing for everybody, it can't help but mean a decrease in the quality of material overall. So it would seem that my problem as a submitter, even a submitter of poor quality material, affects the quality of material on the site for all users.

<comment><USER11> As for the original topic of your submission, minimalistic interfaces, I'm all for it.

I predict the death of the submit button in the next 2 years.

<comment><AUTHOR> It occurred to me over the last week or two that most all of the startup and pet project work I've been doing over the past decade has all boiled down to presenting complex and thought-provoking data to the user in the most simple way possible. Every little piece of user interface, web application, or technology that sits between the brain and a simple version of the decisions it needs to make each day is a cognitive weight we carry around.

There was another great article on the front page of HN today about cognitive slaves. It's a topic that keeps coming up again and again for me and the community, and as one other commenter asks on this thread, at some point it's not enough to simply complain, what would you do to fix it? I'm happy to actually be trying something. Wish me luck!

<comment><USER11> This is going to sound very cryptic, but I hope it comes across, you are a solution looking for a problem.

I think it's only a matter of time before you find your groove, I see it happening all over HN, people that try one thing after another and suddenly it clicks, they find their thing and from there on it's upwards.

Don't give up, the 'making complex stuff simple' thing you've got is absolutely a key in all this. The webcam thing was much the same, until we came along it was just too hard to put live video on the web, we reduced it to one click, that was all it took. Youtube did the same for clips and look where they ended up.

All you you need to do is to apply that wisdom to something that draws a crowd.

<comment><USER12> What is the difference between ww and something like justin.tv?

I am fairly addicted to ww(particularly, the pet deer).

<comment><USER11> Funding and execution I guess.

WW.com was bootstrapped out of my previous company (consultancy / software licenses).

Justin.tv is a lot slicker and it seems they are doing way better than we are in terms of traffic and user satisfaction, but we're working quite hard at the moment to turn the tide on that. WW.com to me feels as though it has a stronger community element to it.

WW is actually quite a bit older than justin.tv (we started in 1998 as 'camarades', but because the name was pretty hard to spell it got changed), we missed a few chances, had some spectacular bad luck but on the whole I'm feeling better about it today than I have felt in the last 5 years.

I don't think the Justin.tv guys have too much to worry about for the time being, but we're definitely planning a very serious effort to make a go of it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Idea: Only have the "submit" link (or even the "threads" link) on the "new" page. It won't get everyone reviewing _new_ all of a sudden but undoubtedly headlines will catch people's eyes en route and perhaps encourage people to pay more attention to it.

(Update: On reflection, reducing usability might not be a great way to go. Typically that's a better way to reduce bad behavior than to encourage good..)

</comment><comment><USER14> I have said this in the past (<http://news.ycombinator.com/item?id=1665746>) - as long as posting doesn't "cost" anything, there will be mindless as well as countless posts, making it harder to really spot intelligent stuff. It's natural for explosive stuff to make it to the top.

Now, how we pay for the posts is probably have karma as part of it somewhere. Or may be not. But, it's a discussion worth having.

</comment><comment><USER15> According to a thread less than 24 hours ago the problem is that your articles are falling off the new page too fast.

The problem is too many submissions, not less people reading the new page:

<http://news.ycombinator.com/item?id=1720742>

It's an alternative explanation.

<comment><USER16> And it's a testable alternative explanation.

PG, check the analytics. What's been the trend on hits to /new over time?

</comment></comment><comment><USER17> One of the factors that I've noticed lately is that due to the quantity of new submissions, it takes only 30 minutes or so for an article to drop off the first "new" page.

I try to check the "new" page periodically, but I must admit, I don't scroll beyond the first page-- so, the article referenced above I missed entirely, and it seems like I wasn't the only one.

Which means that the problem may not be that "nobody is reading the new page much any more" as much as "things age off the new page too quickly for most people to notice them."

As for potential fixes: off the top of my head, I haven't the foggiest.

<comment><USER18> It's obvious: feature a random article from the new page on the front page like Reddit does (a different one each time you load the page), so it gets some exposure.

<comment><USER11> But that would have the unintended side-effect of making the site _much_ more attractive to spammers because they'd be almost guaranteed some homepage exposure.

<comment><USER19> Feature a random article selected from new articles submitted by users with at least 10 points?

<comment><USER20> Feature a random article selected from a probability distribution based on user karma.

e.g.

        Alice   - <USER2>
        Bob     - <USER3>
        Charlie - <USER4>
        Dave    - <USER5>

Dave's new article will never get front page exposure. Charlie has a 50% chance, Bob a 33% chance, and Alice a 16% chance.

<comment><USER11> That wouldn't work either, it would simply cause a karma feedback loop.

<comment><USER20> Worse things have happened. You could easily cap the "considered" karma at like 500. Or some value that is a function of the total karma in the system.

EDIT: or cap the "considered" karma at the median for all users.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> My problem with looking at the new page and help in filtering is due to the amount of general and blog spam.

I think downvotes on new page can actually help so they can discourage users from spamming HN with articles in trying to build karma points

Alternately, make posting cost the user something, say 10 Karma points per submission, in that case users will only submit something they think will grab enough attention

</comment><comment><USER22> One example that I have seen of this was this submission of Grace Hopper on David Letterman's show from 1984 (<http://news.ycombinator.com/item?id=1719458>).

Now I realize that many people don't vote up videos. However, this is Grace Hopper, who was one of the first programmers for the very first computer ever. She is credited with coming up with the term "debugging" after finding a moth in one of her computers, and she wrote the first compiler for a programming language.

If that's not Hacker News worthy then I don't know what is.

And yet amazingly, this submission only got two upvotes (one of which is mine). Now I realize that we've had a lot of scandalous and "Big Important News" but two upvotes seems abnormally low to me. In fact, if Google Students had not tweeted it (<http://twitter.com/googlestudents/status/25361367579>) I would have never even seen it.

<comment><USER17> Thanks for the upvote. I was the one who submitted it, and I really thought it was something HNers would like to see-- a real piece of Hacker history.

I was quite surprised when it didn't make the front page.

</comment></comment><comment><USER23> Perhaps the frontpage could be filtered per account. In other words, if HN shows me the same article on the front page for the 3rd time and I don't click it, I probably don't care, so it could use that slot to show me something new.

</comment><comment><USER24> I'm not helping the community if I visit the new page and don't vote on anything.

I don't vote on anything because I don't want to 'save' all of the threads I find slightly interesting. Saving is only for things I want come back to later.

</comment><comment><USER25> Most people just consume. I think a very small fraction actually comes to the new page and vote.

<comment><USER11> The best spot to make a difference is the second and third pages of the 'new' set, that's where the stuff is that got lost.

</comment></comment><comment><USER26> You're unhappy that people aren't going to the New page so you wrote an observation that can only be seen by going to the New page ;-)

In all seriousness, it took me quite awhile before getting into the habit of going to the New page, but now I do it after going over the main page. It was actually only after seeing a comment that "people don't go to the New page" that I started doing it, so it was one of the rare times when a "reminder" post didn't annoy me and seem like whining. These types of reminders are legitimately helpful IMO.

I'd love to see new items integrated into the home page, personally. Like a split screen, or just have them listed at the bottom of the page, or just in a narrower column somewhere, or whatever.

But I'm not sure that that would have any effect on your other issue, which is the type of thing being voted to the top. They get there because people start by going to the New page; they don't get there on their own. So although giving more attention to new items might get more people to take notice, I don't think it would have any effect on what makes it to the top.

</comment><comment><USER27> I can sympathize with your complaints. There does seem to be a lot of retreaded topics on the main page, so I've just changed my HN bookmark to <http://news.ycombinator.com/newest>. I'll try it for a week, and hopefully I'll spot some more interesting stuff that otherwise would fall by the wayside.

</comment><comment><USER28> Here's an idea: Only users with a certain amount of karma can submit stories.

The first few karma points have to be gained by commenting, and then for example with every 10 karma points a user can make 1 submissions. Or have different 'levels' with certain thresholds, etc. You get the idea, and I think that could help reduce the amount and increase the quality of submissions.

<comment><USER17> The obvious problem with this is that it eliminates the possibility of old- timers using throwaway accounts to submit anonymously. That's a pretty major drawback, if you ask me-- there's a lot of good discussions that begin with an anonymous "Ask HN" or "Tell HN"...

</comment></comment><comment><USER29> Yes, I've noticed that it is harder to get things on the front page.

I've recently submitted a few links that I thought were HN worthy but they barely got any notice if at all.

<http://news.ycombinator.com/item?id=1714743> <http://news.ycombinator.com/item?id=1696933> <http://news.ycombinator.com/item?id=1714334>

Perhaps they're not interesting or maybe with the current system more things are getting overlooked and lost. Don't know.

Usually, I tend to only look at what's on the New page when I submit something (since it automatically redirects you there). So, I'm as guilty as the rest. However, at that time, I'll check out the other posts and upvote other submissions that I consider quality material.

I probably need to spend more time looking at the New page than the front page to help with keeping the quality up.

</comment><comment><USER30> Actually this is the biggest problem that the internet faces now. The number of quality signals that people send is much less than the amount of content that's out there -- one consequence is that it's easy to "game the system."

Hardly anybody is viewing "new" queues, making links to interesting web pages, or otherwise doing the work to discover what's new and good. They make it too easy for spammers and voting rings to do their evil work.

Also there's a general "burnout" effect that happens in social media -- if a particular forum isn't all that excited in your content, you'll find that it gradually gets less and less traffic because people see your URL or your name and decide to move on to the next thing. This can be overcome with real or imaginary 'social proof' (lots 'o votes) but then you get into the fact that the populations of people who are looking at the "new" queue and looking at the front page are entirely different.

</comment><comment><USER31> _...all this industry gossip, fanboy-bait, and the lack of user-generated content drives down the quality for me in a big way_

The more mainstream adoption HN receives, the more the stories will degrade to the lowest common denominator—that of gossip, fan-bait, and chop shop content. I returned to my feed reader for the majority of my interesting articles a long time ago.

The "new" page is basically a feed aggregator of tons of individuals' posts, most of whom don't have the notoriety or baiting title necessary to stick on the page long enough for the few people who read "new" to see them.

Like any other public link sharing site—no matter how niche or well-seeded to start—it will increasingly pander to the 90% who come rather than the 10% who started it. And it'll keep doing that until it becomes reddit (no insult meant; reddit is a great public link share). But at this stage I'm pretty confident it'll always have better discussion.

</comment><comment><USER32> As a tiny incremental change, it might help if the resubmission of a link by another user would bump the link back up to the top of the new page in addition to adding a vote. If multiple people find it worthy to submit, it's probably worth giving it more screentime.

</comment><comment><USER33> It depends on time you can spend on HN to, really with the speed HN moves these days it's hard enough just to keep up with some of the top stories. Only when I really have hours to spend do I get time to get past the stuff that catches my eye on the front page.

</comment><comment><USER34> I read the New page sometimes. I've found that I have disproportionate power over what appears on the front page. Maybe half of the stories I upvote from the New page end up hitting the top half of the front page.

It only takes 3-4 votes for a newly submitted (< 30 minutes ago) story to hit the front page. If you and one other person like it, it'll usually get to the bottom of the hot list. From there, there's often a cascade effect as more and more people see it on the hot list. If the article's any good at all, it can often be in the top 5 within an hour or two.

It's good for karma, too, as getting early comments in on stories that later become hot is a good way to get lots of points on them.

</comment><comment><USER35> How about tweaking karma to add value to certain users votes, users with tons of great submissions and comments to have more effect. You can grant power karma to people you feel have the same philosophy or that you feel drive HN in the direction you want. This isn't necessarily democratic or "fair" and i do not care because i love the great submissions with intelligent commentary. i have seen a lot of submissions concerned with submission quality and am happy to see HN publicly addressing the issue and apparently making an effort to ensure the quality and heritage of the site. (long time lurker brand new acct.)

</comment><comment><USER36> Forgive my generalization, but I see HN as a handful of groups with some overlap. You have hackers/programmers, business marketing, pure entrepreneurs, and investors/angels. There are people who fall into multiple camps, but stories tend to fall into one of these groups. I think the point you're making is that topics along the lines of hackers/programmers seem to have fallen off in favor of some of the other areas. Correct me if I'm wrong.

Personally, I visit the "new" page as often as the frontpage and find many interesting stories there.

<comment><USER36> To be constructive, if my generalizations are correct, then HN could support some form of tags or categorizations to identify the kind of story being posted. People could focus on the areas that interest them and not see stories that don't appeal to them. This could also be a way to identify "gossip" and track its appeal to parts of the userbase. Just an idea...

</comment></comment><comment><USER37> One more try:

1) Why not limit submissions on HN to one per day?

That way, people will only submit their most relevant links. If a story is important enough, then either 1) someone else can submit it and this will invite broader participation on the site, or 2) it won't be submitted today and can be added tomorrow (and it probably wasn't that important to begin with).

2) HN articles used to relate to either hacking or startups (stories about education, economics, etc. were typically found on Digg and Reddit). Why not return to this formula?

</comment><comment><USER38> There has been some really sensational news during the past few days: Angelgate, Facebook downtime, Zuckerberg $100mm donation, uncomfortable micro analysis of patio. Maybe it's the time of year? Or a coincidence. In terms of the normal ebb and flow this is surely a period of flow. I think that just due to regression to the mean next week should be more quiet and readers will have more time for the new page. Hopefully another "Erlang day" won't be necessary.

</comment><comment><USER39> Did this decline start when Hacker News Daily opened? The Hacker News Daily lists the 10 highest-rated articles from Hacker News at <http://www.daemonology.net/hn-daily/>

Maybe some readers are less engaged because they skip the <http://news.ycombinator.com> and go straight to Hacker News Daily.

</comment><comment><USER40> I have an idea that I want to throw out there. I haven't fully thought it out, so I'm sure it would have drawbacks.

But what if one were able to earn karma points by interacting with the "new" page. The details could be worked out to make it un-"gamable", but the basic premise is to reward users that put more effort into discovering posts in the waterfall of the "new" page.

</comment><comment><USER41> The title "My Master Plan to Destroy the Internet as we know it (whattofix.com)" doesn't have any terms that interest me.

In your first paragraph you use the phrase "web interface" if that or some other technical term had been in the title, I might have clicked. fyi

<comment><USER42> Bingo.

I actually use _only_ the new page since enough of my interests are sufficiently esoteric that submissions about them never get many votes (often only mine).

But your title was a distinct turn-off, strongly enough so that I actually remember it as such. Unfortunately I just about never look at who submits items, otherwise I might have given it a chance.

At least for me, you'd be _much_ better off with a title that gives me at least the slightest concrete idea of what the submission is about.

</comment></comment><comment><USER43> Because articles cannot be downvoted, I am very stingy with upvotes. I don't like most articles on the front page, let alone the new page. If your article is really great, it won't be on the new page but not the front page for long anyway.

</comment><comment><USER44> I think this is one the places where the concept of subreddits really shines. Allowing users to control the content that is shown to them allows interesting niche posts to maintain visibility.

</comment><comment><USER45> Consider yourself lucky that you can submit your own articles to HN. My blog got banned from HN, but I gave PG my word that I wouldn't submit my own articles and so he unbanned me.

Submit on a Saturday.

</comment><comment><USER46> I would expect time of year is a significant factor. Are you sure you're comparing to this time last year? I do believe what you say, but memories are terrible data.

</comment><comment><USER47> I'm not even sure my votes ever count on HN so I rarely vote. The algorithms, as people talk about them, seem to be stacked against us casual readers.

</comment><comment><USER48> I'm guilty of this. Reason behind is that I click on links and discussion threads via newsyc20 on twitter whenever something of interest pops up.

</comment><comment><USER49> I have a rule for myself: every time I submit a link I have to scan the New page and upvote those links I like (after reading them).

</comment><comment><USER50> I'm working on a site to fix something like that. I don't want to reveal the name yet, but stay tuned :)

</comment><comment><USER51> What changes do you think should be made to enhance the quality of content and get more people to vote?

<comment><USER52> Load random new stories on the homepage (top 2 or 3 spots) with markup that makes it clear that this is a new story

</comment></comment><comment><USER53> the RSS feed is nice for catching new threads, but I haven't been using google reader much lately for my own reasons. (<http://news.ycombinator.com/rss>)

</comment><comment><USER54> how about for the first page display a random subset of N pages worth of new submits, for a small N? Nobody scrolls past N pages anyway.

</comment><comment><USER55> Hide your kids, hide your wife <http://www.youtube.com/watch?v=ZlZOfHCpFFs>

</comment><comment><USER56> Remember the mantra? Innovators, then imitators, then idiots?

HN is already in a third stage. ^_^

You'll be down-voted if you even try to say that Ubuntu, or Java or PHP (or any other target of a mass-hysteria) isn't cool or superior to anything.

Recently I got that just because I didn't agree that Ubuntu is the greatest and coolest Linux distro ever.

How many of my down-voters can build a distro from scratch or at least recompile PHP with all its modules and their dependencies, or, OK, know how to build a package from its sources? It is a rhetorical question. ^_^

So, everything eventually become reddit. It is just a relation to a number of unique visitors.

And when you have a lot of unique visitors then you'll have all those technology narcissists, who're promoting how cool they are in finding a security issues in an amateur code, or how they so clever in explaining obvious things or making easy things easier.

Everyone is a teacher nowadays. ^_^

</comment><comment><USER8> HN does not need to be re-jiggered or re-invented or re..., just make an effort to check the new page and upvote the articles you like. I always do because I like to see quality, or my assessment of it, make it to the front page and have other users chime in. Let the experiments happen on the plethora of clone sites.

</comment><comment><USER57> Requiring 10 points to submit is really stupid?

<comment><USER58> Requiring 10 points to submit stories seems like a pretty decent idea to me.

<comment><USER57> wait, why his post is +8 while mine is -3?

is it because I was only _wondering_ if it was a good or not? Oh, HN...

</comment></comment></comment><comment><USER10> I suspect that "HN is not turning into Reddit, but..." is the new "HN is turning into Reddit". :-)

(EDIT: This wasn't meant as a diss... it's just that people know by now that saying "HN is becoming Reddit" is a no-no, it's even listed in the guidelines. So whoever has complaints or concerns about the site, often wants to make it clear that they are not playing the HN-is-Reddit card.)</comment>


GOP to investigate "scientific fraud" of global warming - <AUTHOR> http://www.rawstory.com/rs/2010/11/gop-investigate-scientific-fraud-global-warming-report/

<comment><USER2> As someone who feels uncomfortable about the scientific basis for anthropomorphic global warming I don't approve of this. Hearings aren't going to solve anything. All they'll do is further politicize an issue that is already too politicized.

I don't think anyone ever changed their opinion on an issue based on a congressional hearing.

<comment><USER3> Trillions of dollars of world economies are at play because of historically trusted parties' supposed scientific analysis and you think there's no political interest in known false published data, or the blatantly biased 'investigation' to date? If I worked in the field I'd be hell bent and pissed off at the disrespect brought upon the profession.

</comment></comment><comment><USER4> For fricks sake, work on the economy only. Do not stray into anything else.

</comment><comment><USER5> Article about politics.</comment>


Tech conference for people called Ben* - <AUTHOR> http://bens.me.uk/2012/announcing-ben-conf

<comment><USER2> I'm so very sorry. It was a silly joke which got out of hand.

<comment><USER3> I'll forgive you. After all you did help me find a job that one time.

<comment><USER2> Well in that case, why haven't you signed up?

<comment><USER3> Buy me the plane ticket and I'm there.

<comment><USER4> Seconded...

</comment></comment></comment></comment></comment><comment><USER5> My last three "bosses" (at startup, at a dev shop, and now at Mozilla) have all been named Ben. One a Harvard PhD, another an MIT PhD. Of my career, Boston basically begat beneficial Benjamins.

</comment><comment><USER6> This actually happened at my university, we had a dinner for 100 people, all called Tom.

Proof: <http://www.varsitv.co.uk/episode/gh3q9h/Tom_s_Formal_Hall/>

<comment><USER7> Betties in Nebraska do it, too: [http://www.nytimes.com/1998/04/28/us/a-club- where-everyone-i...](http://www.nytimes.com/1998/04/28/us/a-club-where- everyone-is-on-a-first-name-basis.html)

</comment></comment><comment><USER8> Damn! So close...

<comment><USER9> Actually, anyone is allowed "who is willing to be called Ben for the evening".

<comment><USER2> BenConf has a policy of inclusivity, it's just that calling everyone Ben makes the name badges so much easier to print.

</comment></comment></comment><comment><USER10> is Benny Benassi providing ambience for the evening?

This should be really hosted in Benidorm...</comment>


Nissan LEAF owners portal stores passwords in clear-text - <AUTHOR> https://twitter.com/daveisangry/status/389872750065496065 Nice work there Nissan, and I was just starting to like my car. <comment><AUTHOR> Oh and the follow-up made me giggle: [https://twitter.com/daveisangry/status/389873206468694016](https://twitter.com/daveisangry/status/389873206468694016)</comment>


Scaling Apache 2.x beyond 20,000 concurrent downloads - <AUTHOR> http://www.stdlib.net/~colmmacc/Apachecon-EU2005/scaling-apache-handout.pdf

<comment><USER2> Althought the [scribd] tag, it just a link to a PDF. Also worth noting it's an old white paper from sourceforge: _At the time of writing (May 2005),_

</comment><comment><USER3> I like articles like this, if only to see someone else's troubleshooting methods.

Seeing problems worked through and solved is fascinating - it's like watching someone else's mind at work.</comment>


[London Riots] Help work out how to do facial recognition on the police photos - <AUTHOR> http://groups.google.com/group/london-riots-facial-recognition

<comment><USER2> It makes me very nervous, but how "ethical" or not this depends on who's driving and participating in the effort.

A college friend of mine got charged with inciting a riot by standing on a car and shouting "Don't burn our hood! Go burn some rich folks stuff! Follow me!" According to him they didn't trash his stuff, and that was worth the hassle with the courts.

If your shop or car got torched or your kids are afraid at night, this is probably a great idea. Leveraging public data (photos) and off the shelf technology to at least identify witnesses if not actual participants should be done. If a friend of mine was in that situation and asked for help, I would do everything I could. If a company asked me to consult on designing the solution they could sell, I would probably pass.

I've been working in security, identity and privacy for over a decade and this "ethical" question has loomed since before Orwell. Commercial packages are marketed to law enforcement, today. Instead of disengaging or blindly sending your leads to police, the ethical middle path is a publicly defined framework. Using the riots as the catalyst, there should be public/web/community effort for vetting the most incriminating images, aimed at shaping the rules of public disclosure, law and evidence around facial recognition.

If this makes you queasy, get engaged. Saying "that's bad" or "they're wrong" won't stop those driving the technology solutions forward. Advocacy can keep the situation a little more honest.

</comment><comment><USER3> What inspired this idea? Most people would just leave these sort of efforts to the police. I'm not judging, I'm a journalist and I'm legitimately curious.

<comment><AUTHOR> I just hate to see technology lying around doing nothing when it could genuinely help the situation. We have the data, we have the technology. Let's put the two together and actually help the situation, rather than sitting around moaning.

The police cannot use these methods, I believe, so if the public can do it for them to help narrow down inquiries, then surely that's a good thing.

I think it's important to point out that a system like this would be to close the net, not to be used as evidence.

<comment><USER4> So you're saying use technology to treat the symptoms and ignore the cause? Retribution rather than prevention?

Help your neighbours, not the police, then shit like this wouldn't happen. People are so ready to delegate responsibility for everything to technology and a "higher authority" that they forget their own moral responsibility.

As for using it to identify people for questioning, it is strictly against the DPA to collect this information privately without consent and supply it to the police without a data controller and disclosure policy.

<comment><AUTHOR> Are you being serious? This is nothing about the cause. Sorting that out is a much deeper issue that needs to be carefully analysed and considered.

You're effectively saying that we shouldn't bother to help bring people to justice.

Also, I would love to see further information about what you say about the DPA (any links?). We're not wanting to bend the law here, we want to work legally. If it turns out that this kind of work is completely unfesable by the law then we will be forced to abandon it.

Please don't turn this into a moral debate between you and myself, I appreciate that not everyone will see the use of technology in this way as a good thing. At the end of the day I'm trying to do _something_ to help here, rather than moan and argue online about it.

<comment><USER4> What I'm saying is that we should not have let society descent into this chaos by our own ignorance and greed and now we are suffering for it. It's a kind of apathetic karma. And now we're jumping up in the air calling for justice. It's just hypocrisy.

Read this thoroughly, then register as a data controller:

[http://www.ico.gov.uk/for_organisations/data_protection/the_...](http://www.ico.gov.uk/for_organisations/data_protection/the_guide/key_definitions.aspx)

You will be recording and maintaining a database of individual details. You need to provide access to this under DPA SAR regulations to individuals. If you misrepresent the individual, you can and probably will be sued.

Sometimes, doing nothing is better than doing something bad or dangerous.

Oh and if I find out this is going ahead, I'll be ethically required to report you to the ICO.

</comment></comment></comment></comment></comment><comment><USER5> How many times have you heard this:

1\. This will be misused.

2\. But someone else will do it if you don't.

3\. Okay I'll do it then.

</comment><comment><USER6> If you build it , some one with more ambition will take it from you and misuse it. It might help here, no doubt, but it will be abused. Consider China doing this to identify political deviants. Consider the invention of nukes , and the on going struggle to keep them out of peoples hands who wish to use them. Nothing good will come of this in the long run.

</comment><comment><USER7> <http://facebookjustice.wordpress.com>

</comment><comment><USER8> Screw taking pictures. Shoot Looters.....z

<comment><USER4> Yeah right: kill _people_ for taking worthless material things...

</comment></comment><comment><USER4> Please do not do this. It compromises people's right to privacy and will artificially incriminate people who may not be participating but are bystanding or trying to get home.

Technology is not the solution - it's part of the cause. Everyone is automatically incriminated. Don't add fuel to the fire.

<comment><AUTHOR> Can you expand on your argument against the use of technology in this way?

Nothing here compromises your privacy, and nothing will artificially incriminate you. Everything is already public information.

A system like this would be exactly the same as photos being released to the public by the police (which they have), and then random people ringing up saying "That person might be XYZ" (which also happens).

This would be a simple automation of the process to help filter down who it could potentially be (none of the results would be public). It would be up to the police to work out who should be pursued.

Also, I entirely disagree with your statement that technology is the cause. Riots happened before the Internet and social networks. People would be using phones, radio, and word-of-mouth anyway.

<comment><USER9> No, it is not exactly the same, things have shifted a lot in the last 20 years ago. It used to be "what a police officer happened to see while he was driving down the street in his car", now it is rapidly becoming "what could have a police officer possibly seen at any time and in any location, in all EM wavelengths, tied into massive identifying databases". That is a massive shift in power to the police, its important to proceed cautiously, a free society is much more important than catching criminals.

<comment><AUTHOR> Nothing like facial recognition would ever be allowed to be used as evidence, especially in the way I envisage it being used here. It's about helping to narrow down the options so the police can get on with their traditional lines of enquiry, like gathering evidence, etc. There is no shift in power to the police, they don't have access to any extra data, just the results.

We need to stop being afraid of the potential uses of technology, we'll never get anywhere that way. Also, I am not claiming that this is a) the right solution, or b) socially acceptable just yet.

We need to tackle those issues, rather than turn away from the technology because of potential futures.

<comment><USER9> Lets take a hypothetical example, say every CCTV camera in London that is available to the police is tied into facial recognition databases, then those results are stored by the police; They then gain a massive database of the movement of people that would otherwise have not been available. The important thing here is that none of this requires additional data. Even if none of this data is in any way admissible in court (it is and has been in the past), that still gives the police massive leverage over knowing innocent (remember innocent until proved guilty ) people's movements, without consent, probably without knowledge. How you can claim an idea like this isnt a shift in power to the police escapes me.

</comment></comment></comment></comment></comment><comment><USER10> Anyone who takes part in this is a fucking fascist. This is not just simple rioting and looting, it is a backlash upon the failed establishment in the UK. The young people can't find jobs and can't afford to go to school. They are poor, hopeless, and destitute; oppressed by the ever growing disparity between who is rich and who is poor. This is probably not a revolution or an uprising, but it is the start of something. People are fed up with government and they aren't going to be able to take it much longer.

<comment><USER4> Spot on. Listen to this person. This is the voice of most of London at the moment other than the iPhone wielding, wine swilling, bugaboo shoving middle to upper classes.

<comment><USER4> I think I might have hit a sore point there.</comment></comment></comment>


Ralph – Aliases with Superpowers: Parameters, Sudo-Able, and More - <AUTHOR> https://github.com/qw3rtman/ralph/ <comment><USER2> Great, this looks very helpful using tools such as cssh. I find it annoying to prefix commands with sudo and add sudo -i in my bashrc. I will explicitly drop root when building software, etc. Using sudo has never prevented me from making a mistake and auditd handles logging as opposed to syslog

</comment><comment><USER3> This looks pretty cool, and I'd love to give it try, but I don't see any license mentioned. Have you considered any license yet?

<comment><AUTHOR> I was so caught up in training Ralph, I forgot to add a license!

I've settled on GNU GPL v3. Thanks for the catch. :)

<comment><USER4> And I just settled on never using this. Why would you pick GPL v3... Shell scripts are the last place I want to argue with the company lawyer about.

I'd like to politely suggest you consider changing the license before you accept contributions. The smaller the tool and the more modularity it has within a software stack (shell script helpers are extremely modular) the more appropriate it is to license it something towards the MIT license end of the strong - weak copyleft spectrum.</comment></comment></comment>


An Open Source AWS AMI for training your own Prisma-style photo filters - <AUTHOR> http://blog.algorithmia.com/training-style-transfer-models/ <comment><USER2> Thanks for this.

Is there any reason 1 optimization was not considered: simply wget download of popular models? That way you can get started immediately rather than spend a day training?</comment>


Show HN: Crypto Mining for non-profits on the Browser - <AUTHOR> http://addcoinplus.com <comment><AUTHOR> Hi! One of the 3 programmers here :). We made this for a 36h hackathon (Hack The North).

There is still 9 hours until demos but we thought sharing and having some people try it out before would be awesome!

We have the Firefox plugin pending revision (will tell soon when they accept), and the Chrome plugin fully working.

We used Coinhive [1] JavaScript Miner and HTTP API. We have a nodejs server, a website and the plugin itself.

We would really appreciate feedback!

[1]: [https://news.ycombinator.com/item?id=15246145](https://news.ycombinator.com/item?id=15246145)

</comment><comment><USER2> I haven't run the numbers, but my suspicion is that it would be more effective (both financially and environmentally) to simply donate your money to charity. I'm thinking of older, inefficient hardware that winds up using more money in electricity than the mined coins are even worth.

<comment><AUTHOR> You are right, it is less efficient. The thing is people don't do the donations, but they are willing to have this process in the background because they don't even realise it's there.</comment></comment>


Britannica to Go Wikipedia; Planning User-Generated Content Site - <AUTHOR> http://britannicanet.com/?p=86

<comment><USER2> "The planning of this service is almost finished, and we've been working on its implementation for a few months now."

In other words, expect something in a year, or never.</comment>


Ask HN: Share Lobster Invite? - <AUTHOR> anyone could pass me a lobster invite at firstname.lastname@example.com?<p>Thanks <comment><USER2> if I may ask, what is Lobster ?

<comment><USER3> It's a site similar to HN: [https://lobste.rs/](https://lobste.rs/)</comment></comment>


The newspaper suicide pact - <AUTHOR> http://xark.typepad.com/my_weblog/2009/06/the-newspaper-suicide-pact.html <comment><USER2> Most informative quote:

"So when you hear about efforts to save newspapers (and, by extension, journalism), understand that answers that don't return the possibility of double-digit profits and perpetual top-down control aren't even considered answers. They're not even _considered_."

[edit: formatting]</comment>


A Case for a New Language - <AUTHOR> https://pl-rants.net/posts/case-for-new-lang/ <comment><USER3> Some DSL are success stories (SQL, HTML, CSS, etc).

But most DSL I encountered in the wild were terrible: no community, weak tooling and documentation, plenty of design mistakes and limitations.

And there are so many in the shadows of the corporate caves, lurking in systems created by the cowboy of the moment who though that would be the perfect solution to the problem du jour. It then had to be supported forever, leaving bugs, frustrations, and unsatisfied programmers and users in it's wake.

9 times out of 10, a library would have been a better choice.

But even famous and popular open source DSL can be a mistake. For me the most obvious example is Ansible. Because they needed idempotence, and maybe expected other languages to join in, they created a YAML based DSL.

In the end, you get a terrible coding experience, learning the thing is depressing and can only be leverage for this very tool, plus debugging very complicated deployment files is a huge hassle.

The ironic part ? In the end this DSL just call Python modules. It's just bytecode with extra steps.

They should have skipped the middle man and gone with a well crafted Python API + tooling + doc making hard for you to make something non idempotent.

<comment><USER4> What do you think about Java/Groovy DSL of Apache Camel? It is well documented but the syntax requires to chain commands with '.' (dots) which leads to awfully formatted code.

<comment><USER5> you might find this interesting to look at:

[https://gitlab.com/ssadedin/camelpack](https://gitlab.com/ssadedin/camelpack)

</comment></comment></comment><comment><USER6> > And if a type system can not guard against run-time errors, what's the merit > of having one?

The type annotations would document the programmer's assumptions and lead to fail-fast behavior. In the presented use case, it would be immediately clear from the run-time type error that the input data isn't in the expected format (as opposed to a typing bug somewhere else in the program).

<comment> a-saleh Second, as aid in design. I had the pleasure to use languages capable of deriving implementations from types directly (where otherwise you'd use reflection) and ones with type-directed search and typed-holes (even though unsafeCoerce fitting every hole is a bit annoying :)

<comment><USER7> What language was this?

<comment><USER8> Sounds very much like Haskell. The search engine is Hoogle.

[https://www.haskell.org/hoogle/](https://www.haskell.org/hoogle/)

<comment> a-saleh Haskell and Purescript (a close-relative compiled to Javascript). Have yet to 'use it in anger', though :)

</comment></comment></comment></comment></comment><comment><USER9> The problem author describes, is very similar to the problem of response caching. And DSL that may be similar to Varnish DSL

[https://varnish-cache.org/docs/trunk/users-guide/vcl.html](https://varnish- cache.org/docs/trunk/users-guide/vcl.html)

Varnish VCL, accomplishes the job, but far from elegant, of course.

It would be nice, indeed, to be able to start from some template of a rules language.

Where one can customize the 'language syntax' of declaring entities, and what to do with them. And,then, to implement a domain-specific backend (either as code generated, or as interpreted at run-time).

I could not find a framework like that when looking for it, however.

( At the time, I was looking for something allows me to quickly build frontend, and backend runtime in language that can be embedded into java, C++ and javascript).

I started with metalua (this was years ago), and some success but was too difficult at the time to take it further.

Then I tried xText and xtend (so that I could get automatically an IDE.. but again was too difficult).

> > "... The project I am currently working on involves receiving and > processing gRPC messages from some A-brand network devices. The messages > contain ordered sets of key-value pairs. The meaning and naming conventions > for the keys and values varies greatly and is inconsistent across different > message types. The problem was how to describe various processing rules for > the messages...."

</comment><comment><USER10> I'm neither a fan of new languages nor dsl's, so I'm in a minority? Rather than a dsl, I want a great API, and before apis I want compact and expressive utilization of existing apis.

<comment><USER11> DSL is more like a generalisation of config files.

<comment><USER12> While that is one quite useful application of DSLs, they're certainly used more widely than config files. Care to expand further?

<comment><USER11> I said "generalisation". You're thinking I mean DSLs in a static way - <USER2> they compile to a single static structure that is like a configuration file. I am trying to redefine the term here instead, because it seems more appropriate.

Essentially what I am asking here is: where do we set the line between "scripts" and "configuration files"? Because scripts are simply configuration files with a tree-like structure as they represent programs.

Scripts "configure the execution paths of your program".

A DSL thus is just a configuration file with a set of rules of applying those tree-like structures to each other.

<comment><USER13> Scripts are definitely not configuration file.

I would say the line is Turing-completeness.

For me, DSL are half way between configuration files and scripts. If they are not Turing complete they are configuration languages. If they are, then they are programming language (with a specific use case).

And I think that it is usually a bad idea to have configuration files in Turing complete languages (with exceptions, it can certainly be done well).

<comment><USER11> >> Scripts are definitely not configuration file.

>> I would say the line is Turing-completeness.

>> For me, DSL are half way between configuration files and scripts

_you_ would say.

>> If they are not Turing complete they are configuration languages. If they are, then they are programming language (with a specific use case).

Or, you could say that DSLs are what they are: "Domain Specific Languages". Which means that can either be a set of static definitions a-la configuration file, or on another side they can be scripts.

All of these definitions fit really well the meaning of "Domain Specific Language".

</comment></comment></comment></comment></comment></comment><comment><USER14> Interesting approach! I've been contemplating a similar query DSL for compressed time-series data on embedded devices. It's easier to make a specialized language than commonly thought. Though generally the trickiest part is creating appropriate tooling for things like source maps, debugging, etc.

It surprises me that the author used Elixir for implementation but didn't just write a query DSL utilizing the Elixir macro facilities [0]. A macro based DSL likely would be much simpler than writing a new grammar and builds on existing language tooling. Ecto for example does a great job (IMHO) of making a sane DSL for SQL [1]. Given data processing primitives provided by Elixir libraries like Streams and GenStage [2] it seems it'd be pretty straightforward to implement.

Take for example the "segmented query path expression". It is handled fine with a minor modification as an Elixir quoted statement:

`quote do: @query_path//foo/goo[instance='a2']/blah/x[a='S 512']/y`

That yields a well defined AST tree base on the Elixir syntax: ``` {:@, [context: Elixir, import: Kernel], [ {:path, [context: Elixir], [ {:/, [context: Elixir, import: Kernel], [ ... ```

The closures work as well by switching the dollar signs to ampersands: `quote do: select(@path/foo/&x/&goo/z/y/w, { value(&1) < 3 })`

Makes me want to write an Ecto adapter for dealing with Elixir Streams. =)

0: [https://hackernoon.com/understanding-elixir- macros-3464e1414...](https://hackernoon.com/understanding-elixir- macros-3464e141434c) 1: [https://github.com/elixir- ecto/ecto](https://github.com/elixir-ecto/ecto) 2: [https://hexdocs.pm/gen_stage/GenStage.html](https://hexdocs.pm/gen_stage/GenStage.html)

<comment><USER11> What's with the macros? With Python you can build fully-featured DSLs without needing macros by simply overriding standard operators.

<comment><USER14> True, you can but it results in a more limited DSL. This is mainly due to variable names needing to exist, be a valid object and chained used method invocations, which results in more awkward expressions (IMHO). Importantly macros enable _compile time_ checking of a DSL rather than only runtime checking. That alone is very powerful.

Take a SQL query in Python's SQLAlchemy:

       s = select([db.func.sum(users.c.id)]).\
           .select_from(
               Users.outerjoin(Posts, Users.id == Posts.user_id))
           where(and_(
               users.c.id == a1.c.user_id,
               users.c.id == a2.c.user_id,
               a1.c.email_address == 'firstname.lastname@example.com',
               a2.c.email_address == 'email@example.com'
           )).\
           group_by(users.c.age)

That's not bad, but compare it to a similar query in Elixir's Ecto:

       from account in App.Account,
           left_join: t0 in App.Transaction,
           on: t0.account_id == account.id
                and t0.user_id == ^current_user.id
                and t0.deleted == false
                and t0.type == "inflow",
           where: account.id == ^id and t1.user_id == t0.user_id,
           group_by: account.id,
           select: {account, {sum(t0.amount), sum(t1.amount)}})

The Elixir DSL allows a bit more flexibility when re-using language built-in's such as `and`/`or`, or undefined ones likes `sum` without needing the hacked names like `and_` or `db.func.sum` as in Python (or Java or others OOs). Generally the formatting is easier with macro based DSL's.

P.S. The examples might not be exactly correct as I cobbled a couple of different ones together.

<comment><USER15> Very cool, does it compose?

Some statically typed languages allow you to build up composable query snippets along the lines of (from a Scala DSL):

        val accountQ = for {
          (a, t) <- Account leftJoin Transaction (_.id is _.accountId)
          if a.id is ... && t.userId ...
          groupBy a.id
        } yield (a, t.id, t.amount.sum, ...)

        val invoiceQ = for {
          (a, transId, total) <- accountQ
          i <- Invoice join (_.transId is transId)
        } yield (a, i, total)

Basically you can build up arbitrarily complex queries, all compile time checked -- it's really quite wonderful. Haskell has something similar with Esqueleto and C#/F# has LINQ to SQL.

I love query DSLs, the more we move away from string-y SQL the better :)

<comment><USER14> Ecto is pretty composeable [1]. Having a compile time checked SQL DSL was always one of the biggest features I wanted back in my Java days.

1: [https://elixirschool.com/blog/ecto-query- composition/](https://elixirschool.com/blog/ecto-query-composition/)

</comment></comment></comment></comment></comment><comment><USER16> Interesting use case ! I think model driven engineering deserved to be treated better nowadays. For people against DSL, just try to play with Ecore (Eclipse) and Xtext, you will be amazed by the speed of conception, and by the powerful reusability of your model. DSL is just the tip part of the iceberg, the concept of meta-model for example is a very interesting to study.

<comment><USER17> If you want to invest a bit in the learning curve, have a look at the free JetBrains MPS (meta programming system): it is a proper language workbench for exactly that.

Itemis, the company behind xtext, is now using MPS.

It supports composable languages and provides IDEs for the language you created with code completion etc.

It is complex, though, so it takes a while to learn.

<comment><USER16> I will have a look ! Thanks you for this sharing !

</comment></comment></comment><comment><USER18> I knew I read about "A domain-specific language for processing ad hoc data" in my interwebs trawling -> [https://pads.cs.tufts.edu/papers/pldi.pdf](https://pads.cs.tufts.edu/papers/pldi.pdf) (pdf).

IIRC I got a grammar working then went off to play with some new shiny thing before trying to get it to generate some code since I didn't really have a use case beyond just playing around though I believe my plan was to get it to spit out AST classes since my ASDL parser/generator is kind of a goofy mix of boost::spirit and moustache.

</comment><comment><USER19> [https://github.com/dhall-lang/dhall-lang](https://github.com/dhall- lang/dhall-lang) seems like it might have been a suitable candidate here also.

</comment><comment><USER20> Check out Gremlin by Apache TinkerPop: [http://tinkerpop.apache.org/gremlin.html](http://tinkerpop.apache.org/gremlin.html) It is a Turing Complete language that can be embedded in any host language that supports function composition (f.g) and function nesting (f(g)). Finally, if this resonates with you, [https://arxiv.org/abs/1508.03843](https://arxiv.org/abs/1508.03843) .

</comment><comment><USER21> I wish the author went into their failed attempts at traditional tools. I can't help but think XPath and an existing language would do the job and be more approachable to would be maintainers.

</comment><comment><USER22> Related Racket blog post under discussion at the moment:

[https://news.ycombinator.com/item?id=19232068](https://news.ycombinator.com/item?id=19232068)

</comment><comment><USER23> Quite a neat language, I just wished there was more code samples / full ones, and/or having the code be open sourced (maybe not possible depending on the employer).

Also I thought it was going to talk about something like the Blub Paradox: [http://wiki.c2.com/?BlubParadox](http://wiki.c2.com/?BlubParadox)

</comment><comment><USER24> Oh, I did almost the exact same thing once in an SQL database reporting system, brings back memories!

      /foo/*/blah/*/y

We were putting very hierarchical data into a "flat" database, but we still wanted to be able to query on those deeply nested paths. At the time our front end used a lot of XSLT as well so it was a similar approach. Writing the library that turned these "special" queries back into SQL was one of the more fun engineering projects I ever worked on. Definitely wouldn't do it the same way today but for the project it was a good fit.

</comment><comment><USER25> [http://restsql.org/doc/Overview.html](http://restsql.org/doc/Overview.html) is pretty awesome. Same guy who wrote YAML spec I think.

</comment><comment><USER26> I don't see why this can't be implemented as a simple library, with perhaps a little more verbosity.

For example:

> select(/foo/$x/$goo/z/y/w, { value($1) < 3 })

Could become in JS:

        select("/foo/$x/$goo/z/y/w", function(a){ return a<3; })

<comment><USER27> There's _potential_ for optimization if the code executing the query can "understand" what it means.

E.g. an SQL engine can potentially use an index to answer x<3\. Your library calling your function for every item probably can't do that, or can't guarantee that it can do that.

<comment><USER26> There's still potential for optimization, it's just a little harder, because you'd have to parse and process the JS. But ... you don't have to invent a new language.

<comment><USER27> I'd argue the difference between the two isn't just "a little harder", and is not the same as your function call example: in most languages, you can't or can't always access the source of a function you've been passed, so the code would need to be passed as text. If you define a subset of JS you accept, you've created a DSL. This can be a completely valid way of creating one, and if you actually want to fully interpret it picking something where you can bind a high-quality existing interpreter makes sense, but custom ones have their strengths too, especially if you otherwise would cross paradigms (e.g. the examples in the article seem clearly more like a declarative language).

</comment></comment></comment></comment><comment><USER28> Nice! It'd be good to hear Stephen Dolan's story of how jq [0] came to be!

[0] [https://stedolan.github.io/jq](https://stedolan.github.io/jq)

</comment><comment><USER29> I have been coding for 49 years. And people seem to be imventing new languages at a steady rate the entire period. The cutrent emphasis is mobile full stack and cloud OS.

</comment><comment><USER30> Glossing over the numerous articles and he's clearly an intelligent fellow. I can't follow even half of the concepts.

</comment><comment><USER31> > And if a type system can not guard against run-time errors, what's the merit > of having one?

This makes me really question the author's credibility. Clearly the author is pretty confused about static vs. dynamic type systems, and the value and history of type systems in general.

<comment><USER32> Why? I think it's very reasonable that a type system should make runtime erorrs impossible. Obviously errors happen but ideally the type system should make you handle them all.

For example this should be disallowed by the type system.

        db_handle h = new DBConnection()

* What if the connection arguments are incorrectly formated?

* What if the DNS name doesn't resolve?

* What if the port isn't open?

* What if the password is wrong?

If you're going to assign to the handle you have to prove to the compiler that the constructor will return a valid, working handle.

        Result q = h.sendQuery(...)

This should also fail.

* What if the connection dropped?

* What if your credentials are no longer valid?

* What if the query is malformed?

        x = a / b

Prove to the compiler that b is nonzero or that you've handled the case where it is.

Elm damn close to this ideal.

<comment><USER18> > If you're going to assign to the handle you have to prove to the compiler > that the constructor will return a valid, working handle.

I'm trying to imagine how one could prove to the compiler that an event in the far distant future is valid (without the obvious solution of throwing an exception in the constructor but that is at runtime so...)

<comment><USER11> Well, an event in a far distant future is always valid if none of the paths leading to that event contain any code that raise an exceptional condition. That's it.

</comment></comment></comment></comment><comment><USER33> The link didn't work from my part of the world so I couldn't read it, but the title is self-explanatory, so I'll make a point which you may have already made. Previously constructed languages like Esperanto use vocabulary sampled from European languages only, which I suspect is why they haven't become popular. A new language would need to take words and grammar from non-European languages also, such as Arabic, Swahili, Chinese, Japanese, and Indonesian, in order to be adopted in any meaningful scale.

<comment><USER22> The topic is programming languages, DSLs specifically.

I'm surprised the link doesn't work for you. Any idea why? (To be clear, I'm in no way responsible for the link or its content.)</comment></comment>


Ask HN: Delaware Companies - What Bank Do You Use? - <AUTHOR>

<comment><USER2> How much money are we talkin'? I know you're a Delaware corp, but tons of people mistakenly create Delaware corporations so...

<comment><AUTHOR> 6-7 figures. No more than 100 transactions per month.</comment></comment>


MOOCs have not failed, Udacity is pivoting for no reason - <AUTHOR> https://medium.com/p/e4ea3fcc3325

<comment><USER2> There is a MOOC meme that needs to be squashed. Why are we evaluating any MOOC based on the number of people who FAILED to complete a course. One person makes 5 attempts at a course and finally passes. 4 FAILURES and one pass. To my mind this is a fantastic success. Nobody would ever have the opportunity to plug away 5 times at a course in university.

We should be celebrating the number of people who pass these courses and always remember that the people who choose MOOCs are likely to be adults with commitments and busy unpredictable lives. Sometimes circumstances overwhelm them and they cannot complete a course. But with a MOOC, if at first you don't succeed you can try, try again until you manage to get through.

</comment><comment><USER3> I can see all kinds of reasons for Udacity to pivot. First, they have to earn money somehow at some point, and that will require some pivoting; Second, their current offering seemed a bit sub-par (IMHO - style over substance, fun videos but in the end skirting the hard/important things I wanted from the course) when compared to, say, Coursera. And changing that doesn't need 'more quality', they already can do quality stuff, but it needs a clearer direction on who and why the course is intended serve - ergo, the pivot.

<comment><USER4> The combination of the style of Udacity and content of coursera would be an ideal combination. The idea of having tutors help through the tough material on the subjects as a source of revenue is great.</comment></comment>


Vitamin: Getting a startup right the second time (imthere) - <AUTHOR> http://www.thinkvitamin.com/features/design/getting-a-startup-right-the-second-time <comment><USER2> I wonder how much of their time the second time around was saved because they had already built so much back-end? I know the gist of the article is to concentrate on ideas and user experience instead of features, but having all that work in place had to be a big boost for them.

I think some of the best programs I've seen were built once, thrown away, then built again. Once you start coding, it is easy to put the blinders on and think only in terms of features and not users. Likewise, it's easy to think of a million user experiences you want to provide without having any clue how the pieces are coming together. In a way, they had two startups, one for each problem. Seems like it worked out well for them.

<comment><USER3> We were able to carry over some of the back-end work from the first version, but not the majority. Much of the old code was fairly convoluted, and we wanted the new codebase to be easier to maintain and build on. The good news is that we're very happy with how the new code is working for us, and it should serve us well for a long time.

You're absolutely right about how easy it is to get so wrapped up in the features that you completely forget how anyone will actually use them. From the moment we started developing the new ImThere, we really shifted the way we worked to avoid falling back into that trap. We're always looking for ways to get even better at thinking about new functionality from a user's perspective. We test every new line of code that goes out the door extensively not just for bugs, but also for usability and how it affects the flow of the site. It takes more time to do, but we've found it completely worthwhile.

Thanks for the great comment!

\- Gorman</comment></comment>


Aubrey McClendon and America's fracking boom - <AUTHOR> https://www.theguardian.com/news/2018/aug/30/how-the-us-fracking-boom-almost-fell-apart <comment><USER2> The things said in this article about natural gas' reliance on massive amount of cheap capital sound similar to what was being said about banks and commercial paper in 2008.

<comment><USER3> US natural gas prices are 1/2 what you see in most other nations. Those prices can move up further without causing much consumer harm, to offset an increase in capital costs as necessary.

Cheap capital is going to continue to be normal however. The US Government can't afford far higher Fed rates today, and it certainly won't be able to afford high rates when the national debt hits $30 trillion in seven or eight years (the next recession will produce at least a $1.5t deficit year). You're better off assuming the Japan scenario of perma low rates, and all the consequences that go with that in the US (eg corporations getting drunk on debt, artificially inflated asset prices). Ultimately over time nobody is going to buy a trillion in new treasury paper each year except for the Fed, unless you're offering high rates of return on that (which the US Govt can't afford). So the Fed will have to keep rates lower than it otherwise would to keep the government solvent, and the private economy will continually be doused with cheap capital as a result (likely in rolling cycles; when this one runs out, the Fed will drop its rates back to zip and restart QE, and the cycle will repeat; that will increase inequality due to the top 1/3 asset holders primarily benefiting from the cycles, which will increase populism and voter anger in all its forms).</comment></comment>


The Life of an Entrepreneur, in 33 Seconds  (no substance, just fun) - <AUTHOR> http://blogs.xobni.com/asmith/archives/24 <comment><USER2> I love how you used JamGlue to post the music track. Y Combinator companies feed so well off each other. I should remix the jamglue track and add some yc flava!

<comment><USER3> Do it! But I noticed the same thing. The network of YC companies seems tight. The YC front page is using HeySan for the slide show and I wouldn't be surprised if some of the pics were edited with Snipshot.

</comment></comment><comment><USER3> [???] : hoofbeats

Very fitting; never viewed it with an entrepreneurial POV before. Okay, I admit I voted this up because Aladdin is one of my two favorite movies. I may have revealed too much...

</comment><comment><USER4> awwww, I miss that movie. :(</comment>


In Search of Time's Origin - <AUTHOR> http://nautil.us/issue/9/time/in-search-of-times-origin

<comment><USER2> This seems like rampant speculation. At least the title of the post doesn't imply the search is over. :) The assumption that the universe is two entangled quantum particles is a stretch, to say the least.

And maybe I'm missing a piece of the argument but it seems a terrible leap to say that because they can observe this static-outside, dynamic-inside effect that now time is an illusion might be an even larger stretch. Even if all these speculations and assumptions were proven true, how does this render time as an illusion? Isn't the proper conclusion that time is just an internal process which essentially shielded from observing externally? It seems more like conservation of time rather than "time is an illusion". I have always liked the idea of a static universe that our conscious minds are zipping though.

<comment><USER3> They aren't asserting the universe is two entangled particles, they are asserting that they can use two entangled particles to model an effect that may explain the universe.

"time is an illusion might be an even larger stretch"

The word "illusion" should be struck entirely from these articles. Just because a quantity is derived and not "fundamental" doesn't make it not real. Temperature is already known to be an "illusion" by this measure but I've sure been burned before. There's no scenario here where one day you're just walking along, and then _bam_ you're frozen forever because some physicist just realized for the last time that time is an "illusion". If time isn't quite what we may have once naively thought it is, we still clearly live in a universe with before & after relations, just as we live in a universe in which it is perfectly sensible and meaningful to talk about "heat", even if "temperature" does have some behaviors our ancestors wouldn't have anticipated, such as [http://www.nature.com/news/quantum-gas-goes-below- absolute-z...](http://www.nature.com/news/quantum-gas-goes-below-absolute- zero-1.12146) .

</comment></comment><comment><USER4> Time is one slippery concept. I have a book called "The End of Time" by Julian Barbour [http://en.wikipedia.org/wiki/The_End_of_Time_(book)](http://en.wikipedia.org/wiki/The_End_of_Time_\(book\)) , which I have read, but lack enough of a formal education to understand.

</comment><comment><USER5> It seems very romantic to think of entanglement as the fundamental process that gives our universe dynamism. I hope these ideas pan out.</comment>