skysight-inc/HackerNews huggingface dataset:
I completely agree. I think these issues stem from our industry's tendencies to abstract the problem away from the solution before teaching the solution. This is the wrong way to teach.

If you show other developers how you solved your particular problem (how your solution came to be) and explain why you used that approach, many will quickly be able to discern how and when to apply your solution to their particular problem area. If instead you just give them a solution, they're missing a piece of the puzzle and may arrive at the wrong conclusion.

Other developers are also pretty intelligent folk - don't do your deduction for them. Let them do it themselves.

I think our industry suffers from the lack of studying and describing the history of concrete software systems. It could be done so easily now - we have the entire source code history available, we have the history of issues. Books could be written about the evolution of popular software systems - especially open-source classics (e.g. emacs or the linux kernel or Firefox). Those books would describe the problems encountered during the development and their solutions, the design / architectural decisions, as well as the evolution of the development process.

Studying software history should also help us not reinvent the wheel badly. If we studied history perhaps we would've known more about NLS or Smalltalk or why other ideas were invented. How many of us know why the concept of objects was invented in the first place? How many know why classes were invented - what particular problem prompted someone to invent them, and what the circumstances were at that point in time?

The reason why this history is so important is that when inventions go through the reuse process, they're never quite that perfect at solving those newer problems compared to the original problem. Therefore the further away we are from the original problem, the less likely we will be to understand the general aspects of the solution or to re-use the original thinking process to adapt the solution to our needs.

Finally it will also allow us to gain at least some of the knowledge that can presently be gained only from experience and mentoring - which is always a good thing.
Lyft and Uber Price Wars Leaving Some Drivers Feeling Crunched
Fallacy of the grey. Yes, a good team will be better than a bad team for any reasonable methodology. That doesn't mean there aren't methodologies that are better than others.
I thought Google heavily penalised sites that made content available to the Google bot but firewalled content for everybody else?
This seems to correlate to a Hebrew expression "buying a cat in a sack", meaning taking something without confirming its quality.
Indeed, same legend is presented as the source for this expression as well.
For whatever it's worth, that is what I tell newbies when I demand they switch to "some kind of real editor". As it happens, I'm fairly nondenominational when it comes to which they use; though I certainly have my personal preferences my advice is usually to switch to the editor for which mentoring is most easily available to them.
It really depends.

In one case, I started with the back-end because I figured that, to make money with the product, I could coast with a minimal front end for quite some time. Then, in another project, I thought the front-end was the selling point so I went with a minimal back-end.
I knew the name of the disease before I started the search, but since you asked for search-fu, I'll mention that I Googled "snail fatal disease," which led to a Wikipedia article[1] and searching the article page for the word "snail" led to the specific section about the disease. The disease name, "schistosomiasis," is of course an even better search term for finding out more information about the disease.

AFTER EDIT: using the same word string from your question here, "how freshwater snails kill humans" (NOT searching as a phrase, but as a string of words) on Google does indeed first bring up the Bill Gates blog post, but a few results below the search results show a World Health Organization document on freshwater snails[2] that largely answers the question.

[1] https://en.wikipedia.org/wiki/Neglected_tropical_diseases#Sc...

[2] http://www.who.int/water_sanitation_health/resources/vector3...
I'd rank LinkedIn number 2 after Godaddy in the list of Successful Shady Companies (list ranked by shadiness BTW). Their entire business model revolves around tricking the user into doing stuff that - if it was clearly explained - they would never want to do.
I think he's probably right about bigger, higher-level, or more domain-specific things. But there is a boundary- tools, languages, simple libraries, etc. can be, should be, and are reused to great effect.
Xbox One to release in China in September, first console since 2000.
> and not also the existence of a database with the right schema, the ability to connect to it

I like testing those things on which my model depends. It gives me much more confidence. Why wouldn't I want to test them?

> as well as the correctness of the code that rolls back any side effects.

That's a drawback. No arguments from me on that one.
Show HN: Another Digital Ocean API Client for the Mac
I guess it's a matter of opinion then as I found it very easy to read.
A problem with running all your tests in a single transaction is that that's not actually what happens when your code is ran. You will have multiple transactions (unless for some reason you wrap ever single web request inside a transaction, which I think is a terrible idea).

There's slightly different things that happen: now() will always return the same time, deferrable constraints/triggers are useless, you can't have another database connection looking at the test results or modifying the database (say you are testing deadlocks or concurrent updates, or you have code that opens a new database connection to write data to the database outside the current transaction), etc.

It's fine for simple, vanilla ActiveRecord use where you aren't using lots of database features, I suppose.
You won't need to shut it down. Just go where the money flows and arrest anyone selling illegal goods/services. Eventually, when sellers know that it's too risky, they just won't sell there anymore.
Define the convenience level you would like. Search > Download in iTunes and search > stream on Netflix seem hard to beat for convenience.
Maybe, but the profilers in Chrome and Firebug do a terrible job, not to mention tools like Visual Event http://www.sprymedia.co.uk/article/visual+event+2

Is it really that much work to name your functions?
The mainline implementations are not that far apart now, but IIRC it wasn't all that long ago that MRI was significantly slower than CPython.
> Am I only the only one that doesn't find 'All tests in 4 minutes, all model tests in 80 seconds' very impressive? It sounds like a really long time to me.

I don't really mind if a given branch is marked red on CircleCI. master must always be green, but a branch, not so much.

Say I change a model. I'll probably run the unit test for that model (4 seconds), then just push up the branch and forget about it. 9 times out of ten, I didn't break any other tests and everything's fine. Once in a while, I did, and 3-4 minutes later Circle via HipChat let's me know I need to check it again.

It's a bit meta, but this process is just like actual Rails apps—when the task can happen asynchronously in the background, it usually doesn't matter if it takes a couple minutes.
Show HN: Startup Pack – free access to kick-ass SaaS
In the context where Knuth was writing, he was substantially correct. In languages where you can sufficiently encapsulate sufficiently abstract patterns, it ceases to be. When your abstractions don't leak, you don't need to touch the innards. As Rusky says, size also plays a role.
That's one of my biggest problems with "any" of the ML as a service. You can't simply claim you can make things simpler for a lay audience when there is still a lot of infrastructure required for handling data, preprocessing/cleaning etc. At that point you will need some sort of data expertise anyways.

I've found most people who need machine learning usually want control of it/hosting it in house.
I think there is a penalty for showing Googlebot something other than what people can see, but these sites all use tricks to get around it by allowing users to see the same thing as Googlebot in various circumstances. For example Quora has the ?share=1 URL variable. The Wall Street Journal allows users to read a limited number of articles for free if they clicked in from Google (tracked via a cookie). The New York Times allows free reads from anywhere for a limit, but also tracked via a cookie. LinkedIn blocks their registered users, which is probably the worse system ever.
You should try http://www.ersatzlabs.com -- sign up for the app at http://api.ersatzlabs.com invite code "ersatzbeta"

It's still in beta, but it's a lot more full featured than it was a few months ago. We're trying to make deep learning easy and we provide a variety of neural network algorithms backed by GPUs. Documentation still sucks... I'm co-founder.

It's a tricky balance w/ all of our products right now (BigML, Ersatz, prediction.io, datasight.io, wise.io, more) -- how to strike the right balance between appealing to Excel power users versus people who are very comfortable in matlab or python but still don't want to build their own if there's a significantly easier option.
I work in an agency with several fortune 500 clients. Yes, I've seen ad spending refunds on several occurrences because of alleged fraud.
Really? I'm using Chrome, and at least for me, unfortunately it doesn't. Second, V8 isn't the only JS engine out there, a lot of tools will simply put the function as 'anonymous function' in stack traces.
Companies and recruiters aren't going to search to find my personal website (unless they're already interested in me)

Unless you're already a big name superstar, you have to maintain at least some presence in a centralized location where people can find you.
Linked in is a very strange world; maybe it's good for job seekers or recruiters, but I find that the most frequent interactions I have there are either recruiters contacting me for ridiculous jobs that I would never be interested in (and sometimes am not qualified for). The second most frequent type of interactions I have there are where people endorse me for various skills.

Inevitably, I get endorsed by people who have no knowledge of said skills: I'm not sure why a technology-phobic college admissions officer would endorse my skills in distributed software engineering, and what would be the value of such an endorsement?
LinkedIn pursues a bullshit strategy. Instead of adding value and figuring out how to monetize it, they want to hide whatever value they brought to the table, and charge $39.95 for what is essentially a resume hosting service and a broken email system. I discovered long ago that browsing LinkedIn while logged out gives me a better experience.
With PREFIX+z, you have changed my life for the better. Thanks!
Absolutely. My coworkers and I all get cold calls and cold e-mails from recruiters who find our names/occupations on LinkedIn. I'm assuming these recruiters are using premium accounts and paying to send e-mails through LinkedIn.
LinkedIn seems to be changing, and I am not sure for the better.

Recently they stopped access to a whole bunch of CRM players to LinkedIn API. Only Salesforce and Microsoft Dynamics are allowed now.

http://www.zdnet.com/linkedout-crm-companies-squawk-over-lin...

(Disclosure: Zoho CRM was one of the affected products - we offered to pay for their API access but no dice)
I use and recommend Gandi as well. Note though that their free SSL is for one year only.
So GoogleBot can't scrape more than 10 NYT articles per month, right?
Heh, this piece reminded me of the 'magic poo soup' treatment for poorly guinea pigs. The dropping of a healthy guinea pig, stewed in a little water and then fed to the sick cavy, can be almost 'miracle-like' in its cure of gut stasis and other gastro issues.
DHH and Uncle Bob are arguing past each other at this point.

Uncle Bob is saying that Rails is not your application, your business objects that contain all your logic shouldn't inherit from ActiveRecord::Base because that ties you to a specific version of a specific framework (have fun migrating to a new version of Rails!) and means you have to design and migrate your schema before you can run any tests on your model code. You should be able to test your logic in isolation and then plug it into the framework.

DHH is saying that if you're writing a Rails application, of course Rails is your application. Why waste hours adding layers of indirection that make your code harder to understand, just to make your tests run faster?

Of course if it's just a prototype, who cares? But I really agree with Uncle Bob that tightly coupling your application logic to (a specific version of) Rails/ActiveRecord is a bad idea if you want to make a long-lasting, maintainable application of any non-trivial size.
SPX is the index. SPY is the ETF. Also the idea that you can rest an order with an expectation that if the news is good you profit but at worst you lose nothing is ridiculous. That would be a free option. If you want that kind of optionality you have to pay for it. If you rest an order, especially before a big news event, you are taking a risk that you'll get hit and the market will move against you. That's how markets work and there isn't anything wrong with that.
Not a great comparison. Ghost has an admin that's pretty nice. While it might be easy for all of us to jump into code to compose our posts, with Ghost you can jump in on your mobile device, make some edits and hit save.
Its not supposed to be impressive, its supposed to be quick enough to provide a reasonable feedback cycle, with the ability to run specific tests that is drastically reduced, you make a few changes, run the relevant tests (they can run automatically via watching), tests pass you are happy, if its an intrusive change you might want to run the full suite before pushing, then when you push CI runs a far more exhaustive set of tests (possibly across patforms), these can happily take a lot more time.

It differs very much across projects, full pouchdb test suite takes ~4 minutes, full firefox test suite takes hours, for rails ~4 minutes sounds entirely reasonable (kinda faster than I would expect) and wouldnt give me no reason to think about reducing the coverage and reliability of the tests by decoupling anything.
What about some self-improvement?
what. I've never heard anyone say to avoid unit tests "because the database is slow". not even on HN. maybe I'm blind?
That's a fairly common anti-fraud pattern for lots of systems: if a particular account's performance exceeds its long-term trend by a large amount (say 100% or more), it gets flagged for manual review. Once a payment goes out, it's not economic to retrieve it, so you want that extra review to happen before it's issued.

Ideally this would cause a delay in the payout, but if an account doesn't break the threshold until just before the payment date, the review might cause a delay.

This is common on ad platforms, credit card processors and even auction platforms like eBay. I would guess that it's a "standard practice" for risk mitigation.
Just to add to that, you can also use visual block mode to change text on multiple lines. You get a lot of the benefits of multiple cursors that way while still doing things in a more traditional "vim-like" way.
You're ignoring the whole connections bit about LinkedIn. Keeping track of your professional connections through time has value to you as well as those you connect to. If you don't see it, that's fine.
Might you find some value from the person, and LinkedIn, knowing you looked at that profile?

I can't offhand think of any, but that's one difference between these two use cases.
0/10, was hoping to see something offensive/funny
Houdini [1] aimed to do this, but it's been a while since I checked it out -- not sure if it launched or is still under development.

[1] http://www.tryhoudini.com
I guess we'll never get this horrible metaphor out of software development, but I keep trying:

It's not _reinventing_ the wheel. The wheel is an old concept, so are blogs. This is a new/different implementation of that wheel. "Reinventing the wheel" is as pointless as it sounds. But what about making new, better wheels? Maybe not everyone needs the same wheel?

(Edit: Just to clarify, I'm not exactly a fan of Ghost.)
Violation explanation

​

COMMENT SPAM: As stated in our program policies, AdSense publishers may not display Google ads on pages with adult or mature content. We understand that it may be challenging to monitor user-generated content on your site including comments, forum posts or compromised content. Nevertheless, to participate in AdSense you must ensure that pages containing your ad code comply with our program policies. More information about this policy can be found in our Help Center: http://support.google.com/adsense/bin/answer.py?answer=13556....

How to resolve:

If you received a notification in regard to page content, please either remove the content from your site or remove ads from the violating pages. If you received a notification in regards to the way ads are implemented on your site, please make the necessary changes to your implementation. We will automatically review the site again after 72 hours. You do not need to contact us if you make changes. Please be aware that if changes are not made within the required time frame, ad serving will be disabled to the affected website listed above.

Additionally, please be aware that the URL above is just an example and that the same violations may exist on other pages of this website or other sites that you own.
Well, typography at least has the claim to being somewhat objective, but as I said: you've probably seen much worse.
I only ever view LinkedIn profiles in an incognito window. I don't want to appear in the "These people viewed your profile" emails that they send out.
I can't believe people don't use Linkedin. I've been a software engineer and more recently a delivery lead within the professional service consulting space working with massive enterprise clients for a few years now.

Everybody I've ever spoken to (outside of small JS type devs) has got a linkedin profile and expected me to have one. So many recruiters (I contract now) have used linkedin to contact me based on searches they've done which I have converted into 6 separate projects now (and at £650 per day that's a lot of money).

Depending what circles you move in (I move in big enterprise software and services circles) it's just a given that you will have a linkedin. I have a domain name which directs to my blog and one page profile but even then people still ask for my linkedin.

I don't know what the smaller time software dev world is like but for me linkedin is essential..

Saying you can't believe why anybody in the HN crowd would use linkedin probably shows that you only know about the bubble that you operate in.
This has been the case for quite a while. I've gotten used to using LinkedIn in another browser where I'm not logged in.

It's pretty obvious that LinkedIn's strategy is completely dictated by sales and marketing droids with zero respect for the user or the product.

Neither a strong product manager nor a responsible development team would ever accept such an illogical anti-user feature just to scratch extra sales out of existing users whilst at the same time maintaining their Google footprint.
Link to the actual study:

https://www.apa.org/pubs/journals/releases/xlm-a0036577.pdf

Substantial HN discussion:

https://news.ycombinator.com/item?id=7669818

Also submitted:

https://news.ycombinator.com/item?id=7666068

https://news.ycombinator.com/item?id=7669082
> and offered every song you could imagine

This is where I tend to disagree. Yes, popular songs were on there, but terribly tagged (or outright mislabeled), and half of it was porn. Not even varied porn, just the same damn videos replicated a million times.
Why Your Lifestyle Design "Muse" Didn't Work
I also use this method for looking at people's profiles without pinging them for a "Viewed by", which makes it so I can still see who is looking at mine.
This basically boils down to one woman (Teresa Preston-Werner) bullying another woman (JAH). So can someone please explain to me why all of the feminists are turning this into a "women being victimized by men" thing?
I don't use LinkedIn as a CV. I use LinkedIn to store and correspond with my professional network. Perhaps what you are referring to is that LinkedIn is ripe for a good competitor.
Thanks for your feedback. Yeah, this is probably the direction we will eventually have to go. I really like this approach, but we'd rather focus on the content and articles now versus, say, the business side of it - unless it grows into something bigger.

My other thought was to put new articles up with a community-based bitcoin paywall. Basically if we receive "X" donations from the community, this article becomes public forever. I'm not sure how that will be received by our user base though (tech, web developers).
LinkedIn is getting a bit silly with some of their ideas. Just like the recommendation/endorsements thing, absolutely useless. I have people endorsing mw who I have never met or spoken to about my job!
What more is there to say about conveyor belts?

It shouldn't be surprising that a major motion picture would have a detailed page written.
> I guess I don't need to point out how much money Apple has made through iTunes by selling unprotected audio tracks for the past years.

Who gives a shit how much Apple makes? If the creators can't make enough to cover their costs or -- even better -- make a living practicing their art, then we all lose out.

(Edit: I'm not attacking happywolf -- I understand what she or he is saying. I'm just trying to put a pin on the real trouble with the economics of selling media. The aggregators have been doing fine. It's the creators who appear to be feeling the squeeze.)
Some people like Livefyre, which can add some more real-time abilities if you happen to have a large user base.
This is subtly different for Linkedin. They DO show the same thing to Googlebot as logged out users. Registered users end up seeing a different page which Google bot has no way of accessing because it does not have an account.
This site has already been discussed three days ago:

https://news.ycombinator.com/item?id=7655457
If you're regularly declaring a bunch of anon functions in an array I'd hate to use your code. And your first example is an object declaration, which I have no beef with. The console.log is the rare time I'd probably use it.

In the end, if you think normal function declaration is a "syntactic hack" we're simply not going to agree.

I've used a fair few different languages and to me the distinction between a plain old function and a closure is a useful distinction that helps me read the code quicker.

By declaring it as a variable, you're making it hard to decide which it will be as well.

And deeply coupling code for no good reason. This is the other thing I can't understand. I can't even MOVE your function without worrying about side effects.

On a side note, my original post is going up and down in votes like a yo-yo.
There's a whole wiki devoted to this idea: anglish.wikia.com

A good example of it related to OP is http://anglish.wikia.com/wiki/Roomlore
Linking to a page that exactly answers the question being asked is definitely not spam.