Comment author: devi 15 January 2015 03:00:09AM 4 points [-]

Does Java (the good parts) refer to the O'Reilly book with the same name? Or is it some proper subset of the language like what Crockford describes for Javascript?

Comment author: Darmani 15 January 2015 10:50:39PM 6 points [-]

It's more like the Crockford book -- a set of best practices. We use a fairly functional style without a lot of moving parts that makes Java very pleasant to work with. You will not find a SingletonFactoryObserverBridge at this company.

Comment author: malcolmocean 12 January 2015 10:30:17PM 14 points [-]

I like the bit about curiosity. Have you looked at all into other factors like grit? :P

Comment author: Darmani 12 January 2015 11:14:35PM 6 points [-]

Yep. The first thing we do is have a conversation where we look for the 6 company values. Another of them is "commitment," which includes both ownership and grit.

Comment author: Qiaochu_Yuan 12 May 2013 08:04:08AM 11 points [-]

I've always been mildly annoyed that I don't have an eastern European last name. All the cool mathematicians seem to have eastern European last names.

Comment author: Darmani 12 May 2013 09:43:26AM -1 points [-]

You mean, a lot of cool mathematicians are eastern European. But Terry Tao and Shinichi Mochizuki are not.

Comment author: Darmani 03 November 2012 09:11:15AM 4 points [-]

Chris Olah and I (Jimmy Koppel) are both Thiel Fellows and avid Less Wrongers. We'd be happy to answer any questions about the program.

Comment author: Darmani 28 March 2012 02:25:52PM 4 points [-]

I know at least four people who started college by age 15. They're not "kid" geniuses anymore though -- the youngest is 16 and slowly going through college part-time, while the oldest is in his 30s and a full math professor at Arizona.

I don't know about the upbringing of the other three, but one attended a program where taking classes mutliple grade-levels ahead is the norm (though no-one else learned calculus in 3rd grade), and attended Canada/USA Mathcamp during the summers of his undergrad.

I second the Olympiads. Terry Tao famously represented Australia at the IMO at age 10, so he's definitely old enough.

In response to Biased Pandemic
Comment author: Vaniver 12 March 2012 05:09:50PM 5 points [-]

Hm. I'm curious how well this extends to other cooperative games like Arkham Horror.

(I have a low opinion of Pandemic as a game because it's a one-player game which four people play- which can work out okay if everyone has similar skill levels and tactical aptitudes, but poorly if you have players whose turns are just directed for them. It seems like a good substrate for this, though, since you've inserted a conflict that gets rid of the "play their turn for them" effect.)

In response to comment by Vaniver on Biased Pandemic
Comment author: Darmani 13 March 2012 04:49:29AM 4 points [-]

With a sufficiently strong player, Arkham Horror is a one player game which seven people play.

Comment author: Morendil 05 February 2012 12:00:30PM 5 points [-]

finding the shortest path in a graph

The distinction I find useful is between "computer science", perhaps better called "the study of the characteristics and limitations of algorithmic computations"; and "software engineering", which is supposed to be "the systematic application of science, mathematics, technology and engineering principles to the analysis, development and maintenance of software systems, with the aim of transforming software development from an ad hoc craft to a repeatable, quantifiable and manageable process" (according to one definition from a university).

The former strikes me as a healthy discipline, the latter much less so.

to be made fast and still be good enough

Well, assume that's the goal. When people take decisions which result in both "slow" and "not good enough", we would say that they are irrational. In practice, "quick and dirty" code often results in being actually "slow and dirty".

The methods we now use to build software are by and large quite irrational.

The aim of "software engineering" could be better described as "instrumentally rational approaches to creating software in the pursuit of a variety of (arbitrary, i.e. not necessarily epistemically rational) goals".

The problem, then, is that software engineering has failed to offer approaches that are instrumentally rational in that sense: it gives advice that doesn't work, based on opinion that turns out not to be backed by good empirical evidence but on academic politics and ideology.

Comment author: Darmani 05 February 2012 04:43:04PM 3 points [-]

There is a very healthy (and mathematical) subdiscipline of software engineering, applied programming languages. My favorite software-engineering paper, Type-Based Access Control in Data-Centric Systems, comes with a verified proof that, in the system it presents, data-access violations (i.e.: privacy bugs) are impossible.

This is my own research area ( http://www.cs.cmu.edu/~aldrich/plaid/ ), but my belief that this was a healthy part of a diseased discipline is a large part of the reason I accepted the position.

Comment author: cousin_it 25 January 2012 09:14:04AM *  3 points [-]

Saying "heuristic-based learning algorithms" doesn't seem to compress probability mass very much. It feels like skipping over the mysterious part. How exactly do we write a program that would arrive at the axioms of PA by using statistics? I think if we did that, then the program probably wouldn't stop at PA and would come up with many other interesting axioms, so it could be a useful breakthrough.

Comment author: Darmani 27 January 2012 04:57:08PM 2 points [-]

Yes, but the point is that we are learning features from empirical observations, not using some magic deduction system that our computers don't have access to. That may only be one bit of information, but it's a very important bit. This skips over the mysterious part in the exact same way that "electrical engineering" doesn't answer "How does a CPU work?" -- it tells you where to look to learn more.

I know far less about empirical mathematics than about logic. The only thing along these lines I'm familiar with is Douglas Lenat's Automated Mathematician (which is only semi-automated). A quick search for "automated mathematician" on Google Scholar gives a lot of more recent work, including a 2002 book called "Automated theory formation in pure mathematics."

Comment author: cousin_it 23 January 2012 02:54:46PM *  2 points [-]

If the human and the computer are using the same formal system, then sure. But how does a human arrive at the belief that some formal system, e.g. PA, is "really" talking about the integers, and some other system, e.g. PA+¬Con(PA), isn't? Can we formalize the reasoning that leads us to such conclusions? Pointing out that PA can be embedded in some larger formal system, e.g. ZFC, doesn't seem to be a good answer because that larger formal system will need to be justified in turn, leading to an infinite regress. And anyway humans don't seem to be born with a belief in ZFC, so something else must be going on.

Comment author: Darmani 25 January 2012 02:35:59AM 2 points [-]

We form beliefs about mathematics the same way we form beliefs about everything else: heuristic-based learning algorithms. We typically accept things based on intuition and inductive inference until trained to rely on proof instead. There is nothing stopping a computer from forming mathematical beliefs based on statistical inference rather than logical inference.

Have a look at experimental mathematics or probabilistic number theory for some related material.

Comment author: cousin_it 20 January 2012 12:24:32AM *  1 point [-]

Now I have less of an idea of what you're trying to say.

Not much, admittedly :-) The interesting question to me is how to make a computer understand "integers" the way we seem to understand them. It must be possible because humans are not magical, but second-order logic doesn't seem to help much.

Comment author: Darmani 20 January 2012 03:18:51AM 0 points [-]

Computers can prove everything about integers that we can. I don't see a problem here.

View more: Next