News Bits

by Luke Muehlhauser on August 28, 2011 in News

New Less Wrong post: A History of Bayes’ Theorem.

From Twitter:

  • AI now better than humans at visually recognizing traffic signs. Implications for the safety of self-driving cars?
  • Holy crap now I suddenly want to learn Haskell.
  • Quick overview of the science of intuitions.
  • Interactive visualization of evidential support for popular health supplements.
  • Puppy vs. mirror video.

Previous post:

Next post:

{ 13 comments… read them below or add one }

John Smith August 28, 2011 at 3:11 pm

Hey Luke, are you planning on doing any future interviews for the pale blue dot podcast?

  (Quote)

Colin August 28, 2011 at 4:50 pm

AI would probably be smart enough not to text and drive either. I was commenting to a friend the other day how amazing it is that the same species who are so intelligent as to be able to invent a device like the cell phone are also so stupid that they TWD. Fuck.

  (Quote)

MarkD August 28, 2011 at 5:20 pm

Haskell looks fun (as does the silly book) but you would be better off with Java, JavaScript, Python, or Perl if you want to use them professionally in the future. I hate each of those for various reasons (Python indentation ugly; Perl syntax like the hermeneutics of a mad guru; JavaScript debugging sucks; Java is too heavyweight without a giant IDE), and love them for other reasons, but just learning any of them will get you down the path of recursion and other topics that are often associated with AI-ish notions.

  (Quote)

Luke Muehlhauser August 29, 2011 at 1:32 pm

John Smith,

Yes.

  (Quote)

Sharkey August 29, 2011 at 7:01 pm

Luke and MarkD:

Python, Perl, Java and JavaScript are all practical programming languages. Haskell is beautiful.

Learn you a Haskell. Do it.

  (Quote)

MarkD August 29, 2011 at 7:42 pm

@Sharkey

let elegance = “all” in if elegance == “object oriented” then 1 else if elegance == “scripting” then 1 else if elegance == “functional” then 1 else if elegance == “declarative” then 1 else if elegance == “all” then 2 else 0

  (Quote)

Sharkey August 30, 2011 at 5:34 am

@MarkD:

case elegance of
“object oriented” -> 1
“scripting” -> 1
“functional” -> 1
“declarative” -> 1
“all” -> 2
where elegance = “all”

Your function would be better operating over a sum type, rather than strings.

data ProgLangType = ObjectOriented | Scripting | Functional | Declarative | All

case elegance of
ObjectOriented -> 1
Scripting -> 1
Functional -> 1
Declarative -> 1
All -> 2
where elegance = All

Now it’s type safe, saving you from run-time errors when elegance = “object-oriented”.

Then you could simplify to:

case elegance of
All -> 2
_ -> 1
where elegance = All

  (Quote)

MarkD August 30, 2011 at 10:39 am

Suitably elegant.

  (Quote)

cl August 30, 2011 at 10:26 pm

LOL! I can see it now: “But there’s no evidence that antioxidants, vitamin D, vitamin E, copper, fish oil, omega 3, omega 6, and beta-carotene are good for you, so I have no good reason blah-blah-blah…”

  (Quote)

Reginald Selkirk August 31, 2011 at 6:52 am

Perl author Larry Wall is a religious wacko.

  (Quote)

cl August 31, 2011 at 8:58 am

And you’re an anti-religious bigot. Big deal.

  (Quote)

Reginald Selkirk August 31, 2011 at 12:49 pm
Chris September 1, 2011 at 5:22 am

I’ve switched from Java to Scala to Haskell, which I am using at work now (for data processing), and I absolutely love it. If you intend to use it for real world programs, there are some things you should know:

Haskells greatest feature is also its biggest weakness: Laziness. This allows you to write code in an unique, incredible way, e.g.

let fibs = 0 : 1 : zipWith (+) fibs (tail fibs)

which gives you a very efficient, infinite sequence of fibanocci numbers.

On the other hand, laziness increases memory and CPU usage a little bit compared to C/C++ code and makes both more unpredictable. Lazy IO can also be worrisome. For more advanced IO (like processing many large files) use Iteratees. Understanding the advantages and disadvantages of laziness is IMO the biggest hurdle in learning advanced Haskell. Laziness is also the reason, why code has to be written in a mostly pure way.

And learn about monads, even if you don’t understand yet, what they are good for. It will pay of later.

After using it for both hobby-projects and commercial projects I really don’t regret switching to Haskell. It’s also great for solving the Project Euler pieces.

  (Quote)

Leave a Comment