skysight-inc/HackerNews huggingface dataset:
So you can now enforce vagrant versions in your Vagrantfile, which is great, but this is a new feature thus older versions of vagrant won't honour it...so this feature is useless for me, at least for a while. I will continue to do this: https://gist.github.com/badsyntax/7803472
This is a cool post. It's a really interesting thought that this whole "learn to code" movement existed in some form seventeen years ago and somehow didn't take off when it seems like such an inevability right now. But I think it's one of those things we'll look back on like the 2010 iPad / 1993 Apple Newton and say "yeah coding trade schools were a cool idea back then, but the world just wasn't ready for it yet", and now that they've become 'cool' so to speak we're going to see that permanent explosion.

I mean, I'm new to this game but did you even call it "coding" in 1996? To me just the word "coding" represents a kind of coolness factor that I doubt existed around programming in the mid 1990's. It used to be a nerdy thing, something you had to be 'smart' and work at a big company to do. Now tech is cool, the game has completely changed. I mean were startups even a thing in 1996? Were hoodies, mac laptops, red bulls and coding on rooftops popular? Because of things like Github, Ruby on Rails, awesome screencasts etc. I think it's just gotten more fun and productive to be a programmer and the lifestyle has more of a mainstream draw than it used to.

The other big plot line in 2013 that wasn't there in 1996 is the impending genocide of universities in America. Higher tuition rates, lower employment rates, it seems like the learn to code movement is the Newtonian "equal and opposite reaction" to the imminent death spiral of 4-year degree programs in America. I think we're going to see a ton of innovation from the "learn to code" schools in the next few years, innovations in education that the Universities won't be able to match, and the "learn to code" schools are going to kick the living crap out of colleges when it comes to where people choose to spend the money they have allocated for education.
Google change pagerank all the time, so clearly they aren't terrified of changing it. Presumably they have ways such as testing methods to mitigate the risks. If Reddit don't, then they have a much bigger long term problem on their hands than this one glitch.
To me it ruins the surprise, uncommented code is like an uncommented novel, once you've grok'd it the whole thing starts to make sense.

Comments are like coles notes.

It's good as professional courtesy but for personal projects... seems like a waste of time.
Ok so let me get this straight, the application software used components available in the OS for different stuff instead of each application being a walled garden, having its own implementations of everything. So by upgrading/modifying the OS components, you essentially upgrade/modify the applications? Sounds cool. Can applications use each others modules? Maybe not directly, but what if installing an application provides an alternative component to the OS component and other applications can use that? Or is that just the same thing as downloading a new OS component?

All this stuff sounds pretty cool! And can't we make linux like that? (no hope for windows)
I think in this case, unlike say a network server, failures are not the end of the world. Those particular checks are quite useful though when it comes to debugging as working out where that pointer got shafted isn't all that easy once you've stepped past it so failing early is a good plan.

Either that or it's operating how I do which is putting asserts everywhere and when it's stable, removing them. I do this with macros though.
Easy or not, this kind of statements from big names is exactly what is needed to solve the problem. If I say this kind of things (as a young researcher with a modest track record) no one will listen to me. If every Nobel prize winner said this kind of things, maybe the politicians who set the evaluation criteria for grants and tenure (yes, often their are scientists, but they are doing politics) would be forced to change things.
Well, that's just in your head.
Nobel Prizes do not get revoked just because you don't like some of the things a winner has said. In fact, they don't get revoked period.

Even Luc Montagnier hasn't had his Nobel Prize revoked, and he's published loony stuff, not merely said mean things about some publishers.
What are you talking about late 80s? it's still happening with consoles today. On XBox, for example, you need a dev kit. They have a lengthy sign up process, they don't allow students or universities to get one, etc. It costs $$$.

Yeah development practices have changed, but you also have a choice of platforms.

Any platform has tradeoffs and those tradeoffs have an impact on your development process. That's what a platform is. It's an environment, and that environment imposes restrictions. So there is a tradeoff between restrictions to benefits.
Why flag a non-offensive, non-spam article? That is what the point/vote system is for. If more people in the hackernews community want to read interesting non-technical, non-startup related articles then they are "hacker news", or at least "news interesting to hackers".

The flagging system is to weed out spam, advertisements, offensive/porn, etc. This is flagging abuse IMHO.
Another dependency here but I use APR pools. You can keep your allocations to a defined scope then which makes free'ing easy and you can also have some guarantees inside the pool that it will have some bytes to give you. Less error checking and expensive malloc'ing required inside critical sections then.
What do we love in sw testing...?
> Sometimes open source is also competent and well-vetted, but vetting is expensive, and there is a lot of amateur crypto out there.

You seem to be implying that one must be a hobbyist in order to write incompetent crypto software with no or incompetent review and tend to need company resources to get quality code reviews.

Having crypto is often an important checkmark and tack on for shipping a product and usually no one in the product group is competent to analyze the security of the way they tacked on encryption. If a few in the larger company are competent, they will avoid reviewing these projects. Being the engineer everyone associates with delays and frustrations doesn't do much for you and there will never be any proof of the costs you may have prevented.

The few better than I know how to criticize implementations that I have seen haveusually had considerable cross company and university involvement. That usually means open source or a lot of NDA and complex license agreements for cross organization code sharing.
But i think Biomedical can still attract people. Nobody likes diseases. everyone would be ok to contribute to eliminating diseases or coming up with better cures/surgeries.

What's tough, is to get funding for weird theoretical quantum mechanics stuff. How do you ask for funding to things people have absolutely no idea about?
You should package up your tools and sell it to them on a subscription basis per consultant head. Make sure the total price is at least your gross salary and bake in a minimum subscription period. Quit your job, build all the tools you ever wanted and sell it to all other consultancies and their offices.

The powerpoint extensions I used in consulting were created by ex-consultants so it's not unheard of to do this.
Perhaps I should have been more clear, and stated that the use of a patented product is not restricted by said patent; it is however subject to any separate contracts or obligations which the customer would be required to abide, had they not purchased the good.

I must say that it depresses me to see frivolous patents like the one mentioned above, though it no longer surprises me.
Turn any application that uses stdin/stdout into a WebSocket server
I am using Vagrant to develop a buildroot based embedded project. I had to use NFS for sharing because of hardlinks generated for buildroot. Other than that everything went smoothly.

With vagrant primary mode of interaction is through ssh (although it supports showing GUI on vagrant up). So I don't think it is a good fit for developing Windows or desktop applications.
He's most likely referring to the homoiconicity of lisp (http://en.wikipedia.org/wiki/Homoiconicity) - when processor operations are a data type, writing a subprogram and executing it is as simple as filling in an array. In C, you would need to have a C compiler and a virtual machine in your program to run it!
Illinois Affiliates Amazon Associates Program Reopens For Residents Of Illinois
This is relatively similar to how it works in Israel.

To get internet access you actually need two things: infrastructure and an ISP. Infrastructure is through one of two companies (although it may be more now? I'm not sure): Bezeq (DSL) or HOT (Cable). After that you choose your own ISP.

Typically infrastructure is the more expensive of the two, and the ISP is quite cheap.

It's also illegal to have binding contracts for utilities here so if HOT pisses me off, I can switch to Bezeq. If my ISP pisses me off I can switch to another one within 20 minutes. I think this latter point is actually the most effective in getting what I want from my providers. Customer service here is pretty awful usually (and this is from a person who used to live in NYC and had TWC), but when they know they risk losing you very easily it's easy to get what you want.

I think if you unbundle and do away with contracts you'll get a pretty powerful combination.
If you read the Redis Cluster documentation, the data loss is acknowledged, even explaining what are the most obvious failure modes where this happens. WAIT does not provide strong consistency either, and is actually not even documented in the Cluster doc. However WAIT as it is makes the possibility for data loss less likely.

Once everything in the Redis Cluster design and documentation is about trading consistency for performance, I would expect the system to be analyzed for what it is: is it good at providing weak but practically usable consistency and performances? In short, it does respect the design intent?

Saying again and again that it features not consistency is a sterile exercise.
It's a fair question, and I think we all need to strike that balance.

Spend 100% of time with family, and you cease to be your own person, your identity linked with theirs. Spend no time with your family, and you're filled with regret when it's too late.

Right now my parents live across the country, and given realities of day to day life (economics, vacation days, etc) it's tough to make it work for in person.

But we talk every few days to bridge divide. They still feel far away though.

So all I can say is find a way to see your family a little more than you do now. Keep repeating until you find your balance.
https://github.com/eudoxia0/Hylas-Lisp is one example, targeting LLVM
I'd be surprised if that was an exception; I'm only a decade younger (and Canadian) and only missed out on The Lord's Prayer. But sung the anthem every morning. And I'm not in a small town... If that's changed, it changed recently.
Functional Design: Why making requirements matters
Cool. I really like the idea. I wonder how a Haskell version would compare in performance.

I've wanted a leaner and simpler multiplayer Minecraft for some time.
While a noble view, its is obviously not shared by Google. They would rather judge a woman on the basis that she is a woman.
Disqus cracked – Security flaw reveals users’ e-mail addresses
"A journey of 1000 miles starts with a step."
Are there other sources that discuss the cost of roads and bridges? One of the main arguments people use against high-speed rail in the US, for instance, is that it's not profitable, except in the North East between Washington and Boston.
Technically you owe taxes on online purchases.
Part of the reason they squander the money is similar to many from former Soviet countries. The Soviets took wealth from people to redistribute it. Especially towards the end of the Soviet Union many people were exceptionally poor and struggling to get food without using the black market. For many people out towards that end of the world, a sense of enjoying what you have today because it might all be taken away from you tomorrow is pretty much the norm.
Consider this, what if the title was "Google sponsors over $150k of grants for male programmers" ?
Lambda the ultimate had an interesting discussion on this article, recently http://lambda-the-ultimate.org/node/4843#comment
Because it's more than that. It wasn't originally to speed up run time, but compile time. That history is wildly fascinating to me. We tend to take compile time for granted, unless we are bitching about Scala, or compiling C++ at Google.

The author also addresses the importance of history. Voodoo knowledge _does_ pervade modern computer science, and I for one am happy to see something different.
I don't get it: The quote by Dr. Richard essentially says that the reason to do it this way in BCPL is because they are offsets, and it would have been unnatural to subtract 1 of them.

I can't see anything about the computational cost of the indexing in there: Does the author have another source for that? It doesn't seem to be supported by what he quotes. The anecdotes about the IBM 7094 are nice, but I don't see much evidence for the kind of connections the author claims.
Related is Dijkstra explaining the pros and cons of different styles of indexing and slicing: http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EW...
Please stop being obtuse. You obviously implied it with your post.

>carries about as much weight as "all Republicans are racists"
Seems quite speculative, as mentioned in the comments. How are the nuts prepared?
This 90-Year-Old Lithuanian Filmmaker Has the Best Website
Rumor: Classic Start menu to return with next major Windows 8 update
Note that these results are not the results of controlled experiments. The people who were eating nuts had other attributes that could have accounted for their better health:

Specifically, several confounding variables in the data could have accounted for part of the “nut effect”. The confounding variables included BMI, smoking, and exercise. Those that consumed nuts and ate a Mediterranean diet also had a lower BMI, a lower waist circumference, were less likely to smoke, and were more physically active. These factors may have “skewed” the results in favor of the “nut eaters.”

Also, the people who eat more nuts are probably eating less of something else. Since nuts are frequently eaten as snacks, it's likely that they're eating nuts instead of sugary, processed food like cookies or candy. So the improved health could be the result of what they're not eating rather than what they are eating.

Edit: Reading the article reminded me of this paper:

"Why Most Published Research Findings Are False" (2005)

By John P. A. Ioannidis

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1182327/

There's also a discussion of Ioannidis' work here:

"Lies, Damned Lies, and Medical Science" (2010)

http://www.theatlantic.com/magazine/archive/2010/11/lies-dam...
Australian (30's). We recited The Lord's Prayer daily in public primary school (the Government run one) and regularly sang the national anthem.
I don’t see that you give any reason for why you would want to run Emacs in a crippled (terminal) environment. Except, of course, that you have chosen the life of a hermit and live in a cave with only stone knives and bear skins. Your personal lifestyle choice of using only Cygwin and terminals does not support your general assertion that there is every reason for everyone to deliberately cripple Emacs’ user interface by running it in a terminal emulator.
IT Recruiting (Part 3): Making the most out of careers fairs
> I mean, I'm new to this game but did you even call it "coding" in 1996?

Yes, we did. It wasn't that long ago! Sheesh! Thanks for making me feel old :-D

> were startups even a thing in 1996?

Ask pmarca! (https://news.ycombinator.com/threads?id=pmarca)

In seriousness, yes, they were, but it took a lot more money to get one off the ground back then than it does today; lots of proprietary software licenses to be bought, physical servers to be rack-mounted, and so forth. (You used to have to pay thousands of dollars per seat just to get access to some companies' API documentation! Yes! Seriously! Now, of course, you can just Google it.)

It was sufficiently expensive that a college student (which I was back then) couldn't really think of starting one on a whim. You had to get access to some serious capital to make a real go of it.

So many of those costs have collapsed these days that it's much, much easier to do a startup than it was then. But that's a double-edged sword -- while it opens up opportunity to lots more people, it also means there's lots more half-baked "startups" out there than there used to be.
I don't get why zero-indexing requires so much justification. Here are two powerful reasons why it makes sense:

* Zero is the first unsigned integer. If you start at 1, you're wasting one
* p[0] == *p, and it makes no difference whether pointer arithmetic had been invented, because pointers are just memory addresses, and that's what the cpu works with

The best reason for one-indexing:

* Some people think it's less confusing

>> Over and over again tools meant to make it easier for humans to approach big problems are discarded in favor of tools that are easier to teach to computers, and that decision is described as an inevitability.

That's exactly how it should be. What's easier for humans is subjective. What's easier for computers is objective, and going with the grain of the machine tends to yield solutions that work, whereas going against the grain tends to cause over-complicated and buggy implementations. That's the true take-home of "Worse is Better." The Unix approach to syscalls worked, and Unix is alive and well. The MIT approach was quite possibly impossible to implement, and the system they were building is extinct. If you want to use a computer well, you have to learn a little about computers and set aside your preconceived ideas. What's so unreasonable about that?
If you want to increase the proportion of people in the tech industry who are women, do out reach, eliminate glass ceilings in management, and sponsor research into industry causes of gender bias.

Doing gender discriminations to "counter" gender discriminations is neither a good or effective way. It's lazy, and only causes more harm.
It doesn't matter. At this point, the web is already polluted with millions of horrible URLs that will/should never change.
Because it's more than that

But is it really? I'm inclined towards anonymouz's and adamnemecek's idea here: Dr Richard clearly says indices are offsets, no? It's nice the author gets all sentimental about it, but that doesn't make him right.
I bought Minecraft very early, and the more "features" that they added the worse the performance got. Adding shaders and better lighting as they are doing now, will make my gaming computer go to a crawl completely. Though it's quite known that opengl performance on java is lacking and it does not seem to have any easy fixing.
Watch Live: Memorial Service for Nelson Mandela
318 USEFUL TWITTER BOOTSTRAP RESOURCES #6
Amazing how the old is new again. Welcome back, CGI!
I hope everyone's aware that this is just a toy and should never be used to do any real work, because most command line tools were never written to be exposed to the internet at large.
If this is true, squirrels should be immortal. Seriously though, nuts are quite hard to digest - you shouldnt really eat a lot of them especially when you are old - digesting nuts puts excessive strain on your liver, etc.
JS in browsers is a blessing and a curse.

Running stuff on clients instead of servers minimizes server load, but all the junk that bad web-devs had loaded onto their servers now gets loaded to the clients.
There are other interesting reasons why it is better to use zero-based indexing.
In some algorithms you need to access n-th element modulo something.
For example, to fill an array of arrays, in zero-based array

for (i = 0; i < width*height; i++) {

arr2d[i / width][i % width] = array[i];

}

If you use one-based arrays, you have to write

for (i = 1; i <= width*height; i++) {

arr2d[(i-1) / width + 1][(i - 1) % width + 1] = array[i];

}

Yes, you can write two loops, but this example shows how mapping one array onto another is easier if you use zero-based array.
If you've ever tried to use or know anything about government grants you'll find out that 50% of your time and grant money will be spent making sure you are complying with spending grant money.

Usually there will be some outrage over a small sum of money being used inappropriately. Benzes for welfare queens for example. The politicians will do something about it by putting in more checks. A few scammers will work the system. More checks are put in place. Ad infinitum. A few years later 50-80% of the budget to help the poor has gone into making sure they use the aid for what we deem appropriate.
SBV: easily use SMT solvers from Haskell
Looks like it's under the MIT License.
As someone who hates equality and young women, I completely endorse this move.

This give me yet another reason to continue viewing women as helpless victims that want to be treated like children.

This will also aid me in my ongoing quest to raise questions about the real qualifications of non-white male in engineering careers: did they get the job because they're competent, or because of incompetency-compensating handouts?

And since I have yet to see a new-school feminist protesting the unfair treatment of princesses, I'll continue to assume that they're all OK with the discrimination. But wait... it's not discrimination if it gives you the upper-hand, is it, new-school feminists?

The old-school feminists I regularly speak to, those over 50 that fought to get from <50% to 50%, do not condone the discriminatory behaviour of new-school feminists that aren't satistifed with 50/50 but want MORE than men.

So Google, please continue your discriminatory practices so that I may use it as ammunition against new-school feminists.
In CAP theorem terms, Redis has picked zero (remember CAP theorem is pick at most two).

That might be true, but describing something in the CAP framework is not the only salient thing you can say about a distributed storage system. It is characterizing the failure modes.

You also have to think about what happens in the normal case. In the normal case you have a consistency vs. latency tradeoff. People have written about this, but unfortunately I don't think this broader way of thinking hasn't the attention it deserves:

http://dbmsmusings.blogspot.com/2011/12/replication-and-late...

http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-an...

"If you examine PNUTS through the lens of CAP, it would seem that the designers have no idea what they are doing (I assure you this is not the case). Rather than giving up just one of consistency or availability, the system gives up both!"

"The reason is that CAP is missing a very important letter: L. PNUTS gives up consistency not for the goal of improving availability. Instead, it is to lower latency. "
Very good answer, thanks for that!
This is beautiful. I can think of a dozen use cases for this right now for one of my pet projects.
Even better would be to sort by deviance: SORT SQRT(ups*downs)/MAX(ups+downs,1) ASCENDING
And why would it be so bad to have a programmer's mythology? Sure it isn't factual history but it lets us explain the world we see around us in a memorable and understandable way.
What's wrong with that? I'd prefer more gender-balanced workplace. My sister is a teacher, and she says female workers in female-dominated workplaces have pretty much same preference.
>it ruins the surprise

Huh? In the first place, I do NOT want any surprise at all.