When I targeted asm.js, the result wasn't much faster than plain js. Also, asm.js recently made it into Node, but Node doesn't tell you when your asm.js code is valid or not. And when it's invalid, it doesn't produce any errors.
It's more common nowadays for an 18 year old to have 10 years of experience programming.
Certainly it's uncommon, but the set of all 18 year olds who've been programming for 10 years are a subset of those who'd benefit tremendously from a YC program for young adults. And YC has shown that even though money is a focus, it's not their primary focus.
Is there value in such a program? I think so. Even if the program serves as nothing more than a reminder to young people that there are those in the world who believe in them, it would be a win. Getting young people to consider "What are some strategies for me to change the world?" before "What type of job do I want?" might yield a better world.
The success of an endeavor is proportional to the number of shitty hacks that have come before it. Sometimes this it true in a literal sense -- sometimes a project consists of shitty hacks. But the astute reader will notice that a hack is only known to be shitty because someone did it, and had the courage to make their example public.
Do we reward their courage? No. We act like cliquish teenagers and rip them apart.
I don't mean to single you out. But this subthread consists of a developer at Amazon, an unknown, and a founder -- the very types of people I wanted to respect -- yet the content is little more than "Look at how stupid these people are." What kind of example are we setting here?
Be excited about X! Whether X is FOAM, Javascript, COBOL, C++, Python, Erlang, Scheme, NPM, ASDF, Vim, Stallman, or a song. Be happy. Be amused. Be anything but bitter.
In this instance, FOAM shows what's possible. Is it necessarily a good idea? Who cares! We've learned something new! Be excited!
How certain are you that an idea that strikes you as bad is actually bad? For every possible circumstance? What about with a slight tweak? In fact, "An idea that seems bad" is the short definition of "startup."
Most ideas that seem bad are, in fact, bad. But it's important to fully explore the problem space before dismissing them, else you'll dismiss Facebook.
This subthread is about a software technique, not a startup idea. But is it really such a different domain? Would the idea of Python have survived if it had been introduced in the era of Multics? It wasn't a compiled language, so it couldn't hope to survive back then. Yet its time was coming, whether or not it would have been dismissed at the time.
"Under what circumstances could this be a good idea?" That's the valuable question. And if you also have a good answer to "Why now?" then you may be onto something. In fact, you might be one of the first people to notice that an idea has flipped from bad to good. Seems like a pretty powerful position.
It seems like most influential work started as a hack. (TeX is a notable exception.) So if you want to do influential work, be delighted by hacks. It'll make them easier to explore, and you might end up in a position few others realize is valuable.
Most everyone agrees with you in general about the usefulness of "trashing other people's work", but I think your response here is disproportionate to the circumstance.
For what it's worth I was asking a genuine question, most experimental projects don't get 11k commits so I assume that people are actively using it - my question is, given the plethora of alternatives available, what is it about FOAM that leads people to use it?
I shouldn't have said that the code was unpleasant, which is obviously subjective, but I should have said "the code style is quite unusual for JS", which it is. It was certainly not my intention to "trash their work".
Yes, there aren't any known attacks right now, but since MD5 itself already has practical collision attacks against it, there isn't any good reason to use HMAC-MD5 in a new cryptosystem when there are better alternatives.
---
Supporting evidence: new versions of OpenSSHD do not use HMAC-MD5 by default anymore: it has to be enabled manually.
The default is:
umac-64-etm@openssh.com,umac-128-etm@openssh.com,
hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
umac-64@openssh.com,umac-128@openssh.com,
hmac-sha2-256,hmac-sha2-512
unless I'm pursuing engineering or some computation-heavy career, when will I need to care about calculus? Or for that matter, why ever learn about cell biology in elementary school? Not everyone is going to be a geneticist, and most pharma patents are completely off limits, so why bother?
Agreed. Why bother? In fact, forcing children to learn these topics often harms them so irreparably that they not only don't retain the knowledge, but can't bring themselves to be interested later in life.
Make it optional. Make the topics available for children who want to know. Make it self-selected, just like every other aspect in life.
The point of compulsory education is to provide a common memetic foundation for society's interaction and communication.
Without that shared foundation, we see endlessly polarized political talking heads debating nonissues for attention instead of reasoned debate and informed participation in society.
The point of compulsory education is to provide a common memetic foundation for society's interaction and communication.
That's the charitable view. Another view is that the point of compulsory education is to create generation after generation of children who have had any sense of independence, creativity, initiative or inclination towards free thinking, beaten out of them - generations of children who don't question authority and make good, unquestioning worker drones.
I'm not saying one view is right or the other is wrong, but let's not be too quick to accept the presumed virtues of compulsory education without looking at the dark side.
Without that shared foundation, we see endlessly polarized political talking heads debating nonissues for attention instead of reasoned debate and informed participation in society.
Sadly, we appear to have those things already, even though we have (in the US) a fairly extensive public education system, and compulsory education through age 16 / 17 or so (I suppose that varies by state?) and - nominally - higher literacy rates than in decades past. Although on that last point, I think there's a bit of an open question. Measuring literacy is apparently something that wasn't a priority, say, 200 years ago, and detailed, verifiable statistics are hard to come by. But I've seen some commentary to the effect that the US had better literacy rates in centuries past, than we have now.
I'd actually like to know more about that, but it's a pretty politically charged issue and it isn't necessarily easy to find good info.
I'm not sure if the elites of HN have spent much time among today's average youth, but they certainly aren't learning a common memetic foundation. They barely graduate from high school. And in fact, the average youth are what drag down today's achievers. The achievers are made to feel there's something wrong with them, and that it's a sin against the collective to try to be better than average.
Yet averages are precisely the problem. You throw your achievers together with the average, giving them nowhere to go and no outlets to explore. Programming is one of the few outlets, as it isn't compulsory, yet here we're talking about ripping that one away too.
I figured out what the original comment reminded me of:
I'm not sure if the elites of HN have spent much time among today's average youth, but they certainly aren't learning a common memetic foundation. They barely graduate from high school. And in fact, the average youth are what drag down today's achievers. The achievers are made to feel there's something wrong with them, and that it's a sin against the collective to try to be better than average.
FWIW, I graduated high-school in 1991, which is probably before some posters here were born. And everything you just said was true in 1991 as well. I have a hunch it was true quite some time before that as well.
I think you're wrong, if only because compulsory education exists and politics is dominated by polarized political talking heads. I think your explanation is very optimistic. My explanation might sound cynical, but compulsory education in some part is clearly intended to mold children into parts that fit well into the economic machine, and another part is inculcating them into the civil religion of the nation.
It's sort of interesting that the inescapable conclusion is that VC funds power tech. What I mean is, if a business isn't sustainable, and the fact that they're sustainable doesn't matter, then it's thanks to the VC funds.
If you want to affect the world through business, the type of business you'll start is a startup. Counter-intuitively, it may be true that sustainability doesn't necessarily matter for a startup. If so, then sustainability in business doesn't matter for affecting the world.
That seems like dangerous thinking, and I've been trying to escape the conclusion. But since the home runs are how VCs make their returns, why is it a bad thing if 9 out of 10 startups eventually fail? And if it's not a bad thing, then why decry companies for being unsustainable, or the valley for funding them?
How expensive would an application like this be? I don't know much about this, but I'd like to learn.
What's an algorithm for figuring out a pretty good guess of any random application's hosting costs? Also, is there a way to figure out how large the expenses could become over time? Is there some way to relate number of users to cost?
There's no upper bound for how much money one could spend, but let's use the midpoint between "extremely frugal" and "money isn't really a concern."
Hosting on GCE costs about $1700/month right now, and at this moment we have $490/month in recurring revenue (we have 56 subscribers to various plans). I've put much work into making SMC more efficient, in order to bring the hosting price down, but there are limits. The reason it costs this much are: (1) there are often about 500 users signed in, every user is using at least one Linux account, and what users do is often very computationally and memory intensive (mathematics, number crunching, etc.), (2) I snapshot and backup all files both to Google Cloud Storage and also copy backups offsite. Doing offsite backups mainly costs bandwidth -- I spent about $20 in the last 3 days on downloading offsite backups of user data (to a USB drive on my desk). (3) In addition to compute nodes, there are database and web servers, which are redundant so that two can go down and things still work; this is very important since teachers often give lectures from SageMathCloud or run computers labs, so downtime is very bad. (4) I also snapshot all the disks images regular, which costs more, but reduces the chances of data loss. I care that users don't lose their data in case of a disaster (hackers or lightning striking Google four times), which just makes things cost more.
teachers often give lectures from SageMathCloud
or run computers labs
OK, sounds important.
I care that users don't lose their data in case
of a disaster (hackers or lightning striking
Google four times), which just makes things cost
more.
And it sounds like you care. So, how much do you charge for such an important tool?
we have $490/month in recurring revenue (we have
56 subscribers to various plans)
$8.75/month. Try tacking on an extra zero to all of your plans. Or, better yet, tack on an extra zero and ALSO let your customers decide whether or not they care about things like backups.
I don't want to sound like an asshole, but your business is never going to succeed if you keep going down this path. And to be clear: I want to see you succeed.
Here are a few things by patio11 you should go read right now:
At ShareLaTeX (https://www.sharelatex.com), our hosting costs are around $1500/month (can probably be doubled once you add in backups and other supporting services). This is for a similar service (LaTeX is just subset of what SageMathCloud does, but a resource heavy subset). However, ShareLaTeX handles orders of magnitude more traffic as far as I can tell. One of the big factors in a service like this is being able to get the cost-per-user down low enough that it's a viable business model given that a student/academic is not going to pay more than about $10/month and most won't pay at all.
One of the big wins for us has been using Docker to isolate projects. Sure, each project is resource heavy when run/compiled/executed, but if you have lots of users, they're probably not all resource heavy at the same time. The more lightweight the virtualisation/containers, the more they can share resources. It sounds like maybe each user is getting to hold on to too many resources that they aren't using, and so it's costing an order of magnitude more than if they could share all the resources perfectly?
I'd be happy to chat more about this stuff (almost all of the ShareLaTeX code is open source as well, except for the enterprisy stuff). We've also got a new project called DataJoy for Python and R (https://www.getdatajoy.com) which has similar scaling challenges that we've been working on.
The typical usage pattern we have is somebody interactively using a SageMath worksheet over the course of an hour or two. Sage uses a lot of memory (large matrices, plots, etc.), and the state must be maintained in memory during the course of the calculation. Also, people will often open many worksheets, which spawn numerous processes. We use fork for Sage processes to keep down resource usage (maximizes shared memory). Each project is not in its own VM; instead we use cgroups extensively (similar technology that Docker uses under the hood) to control resource usage. All the CPU/memory of the free computers is typically maxed out, and being shared (controlled by cgroups) fairly between users. cgroups is awesome technology.
> Sage uses a lot of memory (large matrices, plots, etc.), and the state must be maintained in memory during the course of the calculation.
1. I thought sage used a ton of RAM partly because of the huge amount of statically linked libraries. I see you said you're using fork to maximize shared memory. Have you tried KSM (Kernel Samepage Merging)?
2. Have you looked at zram? Certain matrices and such may be easily compressible.
At this moment there are 585 people connected to SMC (a bit higher than usual due to Hacker New effect), and most are using it for free. We only introduced a fully automated paid plan about 10 days ago, and many of our sign-ups have been in the last week. Paying customers get enhanced support, the ability to upgrade project quotas, and can ask (it's not yet automated) to have projects moved to members-only servers. The members-only servers have an order of magnitude less users on them. There were also until recently obstructions to charging users due to IP and other issues involving University of Washington (my employer).
It would be great to get these paid users writing a line for SMC expenses into their NSF grants. For instance, you could charge $400 for a year's worth of supported SMC for a group (PI and her grad students, postdocs), or $200 for an REU group SMC. It may be easier to get money by asking for a rather larger amount up front, that people plan into their grants or get departments to pay for, rather than asking for $9/month, which I'd feel compelled to pay personally because the hassle of getting reimbursed $9/month is more than the 3 lattes it costs me.
We now offer $79/year and $499/year plans, which would fit perfectly the model you describe. We only started offering them a few days ago due to demand.
The article is a filtered version of Hawking's words, which themselves were probably a filtered version of his research. The parent commenter was talking about the quality of the article.
There's no basis to attack Hawking or anyone else. Even the article's author should be relatively immune, because WaPo isn't in the business of writing scientific articles.
If you insist on attacking, then let's aim for the central argument. For example, a decent attack on Einstein in the 1940s would be to remark that if quantum electrodynamics agrees with experiment, then Einstein's goal -- to demonstrate that probability wasn't a fundamental component of the universe -- would be in trouble.
An excellent attack would be to cite the research, and to explain why if X is true then @physicist is wrong.
Are you sure that being mistaken is such a terrible thing? The mistakes are often more illuminating than the discoveries, as they provide a framework upon which to learn how to improve the process of discovery.
It should be noted that QM does not require randomness, you need to pick randomness or sacrifice other assumptions and most people pick randomness as the cleaner option.
Fascinating. May I ask, how does one predict the behavior of an electron without using probability amplitudes?
I'm extremely interested, and the question isn't meant as anything but an inquiry. Finding a gap in one's knowledge is one of the more exciting aspects of life.
First, you need to stop calling them "probability amplitudes".
Amplitudes are complex numbers, out there in the real world (as far as we understand it). This is quite different from probabilities, who are real numbers between 0 and 1 who exist only as a mental constructs. Simply put, while amplitudes share some mathematical properties with probabilities, they are not probabilities.
Now that we're done turning colloquial words into misleading jargon, we can talk about the theory itself. Namely Everett's many-worlds and decoherence.
We could play the "where's the electron" game, but I'd rather play "where's the photon" instead —it's simpler. So you throw a photon through a half-sieved mirror, to be detected by one of to judiciously placed detectors. Oh, and have one detector linked to a kitten murdering system for good measure.
If you repeat the experiment often enough, you will witness a kitten death half the time, with absolutely no way to predict the outcome in advance. The results are the same if you put the kitten in a box, and open that box after the fact. So it certainly looks like the universe is not deterministic.
The equations on the other hand are definitely deterministic. Future amplitude distributions are perfectly predicted by past amplitude distributions —which by the way you can't fully observe, but that's another issue entirely. So, if you look at the amplitude distribution, you'll see that once the photon hit the mirror, there will be a blob of amplitude for both cases: passing through and being reflected. Going further, there will be a blob of amplitude for each of the detectors being hit. Finally, there will be a blob of amplitude for the living kitten, and another one for the dead kitten. Oh, and the equations also says that the blobs quickly cease to interact —that's decoherence.
Basically, what the equations say is that the universe splits itself in two, generating one version with the dead kitten, and one version with the live kitten. The equations also say that the inhabitants of either version don't get to see the other one (they've ceased to interact).
Now the only question left is why we experimentally find ourselves to be in one version and not in another. But never forget that every time you run that Schrödinger experiment, a cat will die. If not in your universe, then the other.
---
The Copenhagen interpretation, which would have the blob of amplitude corresponding to the other universe just collapse into nothingness (that is, set to zero), has no basis in the equations which by now are backed up by mountains of evidence. It is an additional hypothesis layered on top of the equations, conveniently formulated in a way that wouldn't falsify any experiment. On top of that, it violates a number of long standing principles, such as locality.
You could also call those amplitudes "probabilities", but that's just a word trick. It doesn't explain anything.
It's fun that wave-function reduction is "an additional hypothesis layered on top of the equations, conveniently formulated in a way that wouldn't falsify any experiment", while infinities of universes that have "ceased to interact" is not.
Indeed. And it doesn't help that Many-Worlds, despite being much more reasonable than any collapse hypothesis, came decades after the Copenhagen interpretation. Science tends to reject theories that don't make additional predictions. http://lesswrong.com/lw/qa/the_dilemma_science_or_bayes/
But the fact remains that blindly following the equations leads you to Many-Words. You have to modify the results to get to any sort of collapse hypotheses. Also, simply postulating that what you don't see doesn't exist doesn't help. http://lesswrong.com/lw/pb/belief_in_the_implied_invisible/
It seems my comment was a bit too subtle for you. Infinite uncountable infinities of universes is not parsimonious.
Pretend that you're talking to someone who doesn't see many-worlds as an obvious corollary of the current QM theories. What experiments do you propose to indicate the simultaneous existence of e.g. a universe in which the photon chose Slit A and another in which the photon chose Slit B?
Your appeal to BitII fails because that concerns e.g. conservation laws that are regularly observed to be true, and which therefore can be assumed true when a particular situation makes observation impossible. Many-worlds has never been shown by experiment, so it is not eligible for such treatment.
We already agree that there is no experimental difference between collapse/Copehagen interpretation, and the Many Worlds interpretation. In the name of what are you demanding experimental evidence for one interpretation, and not the other?
> Infinite uncountable infinities of universes is not parsimonious.
You need to remember that those universes are in no way postulated. They are derived —from the equations. So you can't use that impressive infinity to claim that the Many World interpretation would somehow have a higher Kolmogorov complexity than Copenhagen.
Many Worlds just takes the equations and run with them. It's Copenhagen that makes additional assumptions by manipulating the results of the equations: They're not real, or there's a collapse… Either way, that's an additional hypothesis on top of those equations (which by the way have massive amounts of experimental evidence behind them, and are accepted by everyone as the current best guess). That additional hypothesis is not very parsimonious, don't you think?
(You have to remember how Occam's razor really works. From the Wikipedia, "The principle states that among competing hypotheses that predict equally well, the one with the fewest assumptions should be selected." As a simple matter of fact, Many Worlds makes strictly fewer assumptions than Copenhagen. Parsimony is not measured by the size of the universe predicted by the theory. Parsimony is measured by the number of core assumptions. Not the same thing at all.)
To get a feel of how utterly ridiculous collapse postulates are (in 20/20 hindsight, I don't want to make fun of physicists), I must quote Eliezer Yudkowsky: http://lesswrong.com/lw/q6/collapse_postulates/
If collapse actually worked the way its adherents say it does, it would be:
1. The only non-linear evolution in all of quantum mechanics.
2. The only non-unitary evolution in all of quantum mechanics.
3. The only non-differentiable (in fact, discontinuous) phenomenon in all of quantum mechanics.
4. The only phenomenon in all of quantum mechanics that is non-local in the configuration space.
5. The only phenomenon in all of physics that violates CPT symmetry.
6. The only phenomenon in all of physics that violates Liouville's Theorem (has a many-to-one mapping from initial conditions to outcomes).
7. The only phenomenon in all of physics that is acausal / non-deterministic / inherently random.
8. The only phenomenon in all of physics that is non-local in spacetime and propagates an influence faster than light.
WHAT DOES THE GOD-DAMNED COLLAPSE POSTULATE HAVE TO DO FOR PHYSICISTS TO REJECT IT? KILL A GOD-DAMNED PUPPY?
I'll read that eventually, but I won't be surprised if it turns out to be like much of the rest of LW: a sophisticated, entertaining, ultimately unconvincing apology for EY's particular brand of mysticism [EDIT:], layered over many perfectly cromulent observations about probability[/EDIT]. I don't need the truth so badly that I would swallow the best truth-substitute I can find. I'm perfectly content to categorize something as a "known unknown".
If I were to stipulate that the Copenhagen interpretation(s) is (are) silly philosophical daydreaming, could you do the same for many-worlds?
Funny how different people perceive his writings. To me, most of what he writes feels obvious —at least in retrospect. "Obvious" doesn't feel very mystic to me.
I do understand however how many people would be distrustful of his casual writing style. He tends to sound like a lowly blogger, not like a respectable academic. (Personally, I don't care for those status signals.)
> I'll read that eventually, but I won't be surprised if it turns out to be like much of the rest of LW
Hmm, if you're already familiar with this material, then don't bother just yet. Start with the first few chapters of E.T. Jayne's Probability Theory: the Logic of Science. That's more basic, less crazy sounding, and more generally applicable.
Now I don't exactly know how physicists deal with quantum mechanics. I asked one, and he didn't even bother with any interpretation, sticking with the observable consequences of the equations (a more prudent attitude than either Copenhagen or Many-World).
Something however bothers me deeply: insisting on calling amplitudes "probabilities", while they're anything but. That only makes teaching harder. Seriously, I was tempted to mass delete every occurrences of "probability" from the "Probability Amplitude" article in the Wikipedia.
> If I were to stipulate that the Copenhagen interpretation(s) is (are) silly philosophical daydreaming, could you do the same for many-worlds?
Err, it doesn't work like that. If I were to convince you, I would have learned nothing, and believe then what I believe now. I can only give you my current best guess.
Which is, many-worlds is by no means certain. At the very least we don't have a Theory of Everything, and we could miss something. Collapse postulates however are just crazy. Rejecting the existence of the amplitude you didn't observe is just as insane (no less, no more) as rejecting the existence of a photon which just passed the limits of our observable universe.
When we do find a theory of everything, I bet the equations will predict the existence of things that can't be observed —not even in theory. I just hope people won't see that as a licence to not believe in those things at all.
Thanks for the cordial discussion, but I think the physicist you mention has it right. "Prediction" of phenomena that can never be observed seems like an oxymoron.
Yeah, but there is one practical application, if we ever conquer the stars: if we send colonists so far away that they eventually cross the boundary of our observable universe, we care a great deal about their continued survival, even though we will never observe it directly.
Other unobservable stuff may or may not be incredibly important. (Though at a first glance, QM interpretation isn't.)
I so appreciate this explanation, as I have wondered about this for years. Thanks!
My understanding of (real) probabilities is that they're really about our ignorance of a system. E.g., if I'm flipping a coin but put very little spin on it, it's easy for a human to predict what side will show. As we put more spin on it, the probability of guessing correctly goes down, but that's about perceptual and cognitive limitations.
My (layman's) understanding of quantum mechanics, though, is that there are no hidden variables. In which case, I couldn't understand why anybody would call the quantum stuff "probability". It's a relief to know that they're fundamentally different.
I read once that you can look at QM without randomness by comparing it to interference waves, similar to what happens if you sprinkle water on the surface of a pond -- the result looks chaotic but it is 100% deterministic, and QM can be viewed in this way too.
An amplitude is not a complex number. It is the real number one gets taking the root of the sum of the squares of the real and imaginary part of a complex number. In QM they will be between 0 and 1 and are probabilities.
Yes there are. So to an "outside observer" (like an omniscient being from outside our universe), it's definitely deterministic.
From the inside however, we still have the Born probabilities to contend with: apparently, our subjective probability to observe one version or another is tied to the square root of the relevant amplitudes. In the case of a half-sieved mirror, that's one chance in two. But we can easily bias this with a stronger (or weaker) mirror.
Does it cost $150k/yr to hire someone you're paying $75k/yr?
I've heard the fully-loaded cost of an employee is about 2x their salary, but I'm interested to know what the fully-loaded cost of a startup employee is. At the minimum, an employer would probably need to pay for health insurance, for example. Even if the benefits aren't very good, the cost is higher than someone's salary.
The article says the cost with overhead is 1.25x, but is that realistic?
My simulated metric was something like %133, which another person on payroll said that was pretty accurate. So there isn't hidden information when calculating this stuff.
Think of:
- Health Insurances ($500/mo)?
- The other half of payroll taxes (~%8)
- Food benefits ($10/day in snacks, $15/meal served)
- Office rental & upkeep costs
- 401k program costs (yes, they charge employers for this)
I decided to check back in a couple years.