
Our Most Important Technology Project Yet - mh_
http://blog.stephenwolfram.com/2013/11/something-very-big-is-coming-our-most-important-technology-project-yet/
======
archgrove
Lots of froth, lots of buzz, lots of hype. Few facts, few examples. It's
actually hard to comment on, as there's so little to get hold of. Standard
Wolfram fare, rally (still waiting for CAs to take over the world), but always
disappointing from someone evidently so smart.

Oh, and if Mathematica is the basis of the "Wolfram language", and this is the
universal computing language of our new "interconnected brain", I'm leaving
for another universe. Unless the boy who cried wolf really has cornered one
this time.

~~~
yannis
But I do grant him the enthusiasm of the forever hacker. I read the article
and it came through as someone that had a breakthrough and just wants to talk
about it.

~~~
unclebucknasty
> _it came through as someone that had a breakthrough and just wants to talk
> about it._

Yeah, it did. It also reminded me of one of my own "Moments of Absolute
Clarity" that tend to unravel considerably when met with the hard test of
execution in the real world.

There's something about the vagueness of the promise that makes it so
reminiscent. Sometimes you can get the sense of being on the verge of
something big--but the gnarly difficulty lies in bringing it down from the
abstraction.

~~~
taliesinb
Yes, I think it is a lot like simulated annealing, with rounds of the
following:

0\. internal stresses exist = mutter "look at all these contradictions and
warts"; start rethinking assumptions

1\. raise temperature = get creative and start brainstorming; new
possibilities and combinations present themselves

2\. decrease in free energy = do a bunch of prototyping; some radical
simplifications or changes of perspective present themselves

3\. lower temperature = realize some details are still messy, some ideas were
bad; get more conservative and start weeding out stuff

4\. repeat until you have to ship

------
spitfire
Bombastic, long winded and narcissistic. On target for Stephen Wolfram.

But, if you've used mathematica it is the closest thing we have right now to
the star trek computer. In a single line I can get solutions to complex
problems that would take days in Ruby, Lisp or Haskell. It is the same
distance again as Lisp is from C.

In fact, many of the failures you see write-ups on HN I've been able to model
and solve in a few minutes with MMA. In particular the rap genius Heroku queue
issue.

~~~
tfb
_In a single line I can get solutions to complex problems that would take days
in Ruby, Lisp or Haskell. It is the same distance again as Lisp is from C._

 _In fact, many of the failures you see write-ups on HN I 've been able to
model and solve in a few minutes with MMA. In particular the rap genius Heroku
queue issue._

Can you elaborate and/or provide a thorough example of this? I'm curious.

~~~
spitfire
Sure. During the rap genius debacle there were a bunch of people taking time
to figure out what was wrong with Heroku's routing. I was entertained because
there were two parts to the problem A) queueing and B) optimizations.

So with a line of code you could represent heroku's queues and determine
exactly how many dyne's you needed. Or, you could try different queueing
methods and determine how much money you could have been saving.

In some sense Mathematica is further down the What vs How line of language
power. Even in ruby, Clojure or Haskell you're still left specifying HOW to do
optimization, integration, etc. Not what you'd like to optimize, integrate or
manipulate.

[1]
[http://reference.wolfram.com/mathematica/guide/QueueingProce...](http://reference.wolfram.com/mathematica/guide/QueueingProcesses.html)
[2]
[http://reference.wolfram.com/mathematica/guide/Optimization....](http://reference.wolfram.com/mathematica/guide/Optimization.html)

~~~
newman314
So what's this line of code?

~~~
spitfire
Well, here's a quick simulation assuming request servicing follows a Poisson
process. The Manipulate function takes a function and generates an interactive
version of that function. So in this case it has a graph (list plot) of the
simulation, along with a slider to manipulate the number of new requests
(arrivals).

If you wanted to be ambitious, you could simulate different servicing
distributions, and times. But that might add a whole 2-3 lines of code to the
solution.

[http://imgur.com/66wczZu](http://imgur.com/66wczZu)

Manipulate[ ListLinePlot[ RandomFunction[QueueingProcess[arrivals, 60/8] , {0,
50}][ "Path"]], {arrivals, 1, 30}]

~~~
tfb
So how does generating a graph actually solve the problem in the real world?
Or am I misunderstanding what the problem is? I was assuming the problem was
with some real world application, most likely regarding the implementation of
some complex networking algorithm for Heroku's system. But if it's just some
abstract math problem, of course it would make sense to use something like
Mathematica, MATLAB, etc.

~~~
spitfire
That was just to demonstrate the problem. You could solve it by using
NSolve[expr, vars] and giving a limit for the response time you'd like. You'd
get back the number of dyne's you'd need to meet those requirements.

On heroku's side, you could model their network with a few lines of code and
experiment with different types of queues to find things that work well and
are affordable.

As PG said in beating the averages, it's one o those things that's easy to
dismiss when you're looking up the power curve.

------
gmisra
Another good opportunity to re-post this critique of "A New Kind of Science"
by Cosma Shalizi. It's not kind.

[http://vserver1.cscs.lsa.umich.edu/~crshalizi/reviews/wolfra...](http://vserver1.cscs.lsa.umich.edu/~crshalizi/reviews/wolfram/)

~~~
taliesinb
An entertaining read, but as an enthusiast of NKS-style science (and ohmygod
bias! someone at Wolfram Research) I don't think the review is all that
intellectually substantive:
[http://news.ycombinator.com/item?id=3974503](http://news.ycombinator.com/item?id=3974503)

~~~
jacobolus
_“I happen to think that most of it is written in simple, straightforward,
unpretentious language”_

Hahahaha. That’s the funniest thing I’ve read someone write about Wolfram.

The comparison to Darwin is also pretty amusing. Darwin’s book is amazing
because it spends most of its effort showing us evidence, so we can draw our
own conclusions guided by an overwhelming pile of careful data and research,
plus a bit of sharp analysis. By contrast, Wolfram’s book spends most of its
effort telling us how important it (and he) is, on unremarkable and tediously
repetitive evidence/analysis.

edit: note the Oxford American Dictionary’s definition of pretentious:
_“attempting to impress by affecting greater importance, talent, culture,
etc., than is actually possessed”_.

For example count the number of things named “Wolfram” in this most recent
blog post, or count the hyperbolic adjectives and adverbs: “amazing”, “whole
different level”, “profoundly important”, “incredibly useful”, “breathtaking”,
“exciting”, “spectacular”, “sophisticated”, “universally accessible”, “new
kind of language”, “cover[ing] all forms of computation”, “by far the largest
ever”, “immense”, “spectacularly productive”, “remarkable”, “immense”,
“completely general and uniform”, “immense”, can’t-do-it-justice, “immediately
meaningful”, “absolutely practical, and spectacular”, “amazing”, “never
imagined before”, “incredibly fertile”, “disorienting”, uniquely converging,
“universal”, incredibly powerful, “instant”, “absurdly”, “seamless”,
“dauntingly long”, “widely accessible”, “wonderful”, “exciting”, “with full
semantic fidelity”, “instantly programmable”, “a kind of global brain”,
“convenient”, “efficient”, “a new level of computation”, “our most important
technology project yet”, “incredibly exciting”.

If you took out all the adjectives, and all the instances of “Wolfram”,
there’d be pretty much nothing left. ;) [NKS is thankfully not quite this bad
on a sentence-by-sentence level. But then it has 1000 pages to repeatedly tell
us how revolutionary and brilliant it is.]

~~~
taliesinb
Objectively, it avoids jargon and florid prose (apart from some rather
repetitive language). It means a child could read it, and perhaps that makes
it boring to read.

Perhaps you found the actual experiments he did boring, or tedious. I think
they're pretty cool, and I've now done my fair share of them, and taught other
people how to do them. The axiom systems, graph automata, constraint
satisfaction, causal graph stuff, and entropy stuff is all cool. And the notes
are a goldmine reference.

Also, this is probably the least important of the 8 specific claims of
Shalizi's that I rebut. But hey.

edit: because we seem to be using edits to converse. For 25 years, Wolfram has
been the company brand, and people roughly know what it is -- how can we NOT
prefix our products with the word Wolfram? Also, did you just call a
marketing-type pre-announcement hyperbolic?
[http://www.youtube.com/watch?v=BETSuT2RNLs](http://www.youtube.com/watch?v=BETSuT2RNLs)

------
pertinhower
It'll be neat when Wolfram uses their (his?) almighty genius to utterly change
the world of computing. It'll also be neat when they implement basic undo/redo
functionality in Mathematica.

~~~
avn2109
Srsly. It is unbelievable that they didn't fix this in Version 9. In many ways
MMA is incredibly sophisticated software, but it lacks this most obvious of
features.

------
whazor
What my view is of what he is trying to explain:

You can do awesome stuff with their mathematical based tools. There are tools
for statistics, conversions between units, calculation with dates & times, and
a lot more. Look for yourself at
[http://www.wolframalpha.com/examples/](http://www.wolframalpha.com/examples/)

Now, they also have the data. Like weather data, about media(movies/music),
about languages, about media, about stock and also a lot more.

But for developers there is a problem, you can't build apps with their
platform. For example you can't really store or receive data, and there are
more practical problems.

So I think that they already solved the practical problems. Because they are
developing software themselves this way. So for making it friendly for
developers they only have to build some frontend for it.

------
csmuk
And it's only going to be £3000 a seat!!!

Excuse the sarcasm but Mathematica is unjustifiably expensive to be general
purpose and ubiquitous and I'm sure any derivative or superior tool will be as
well.

~~~
pertinhower
But Alpha is free.

~~~
csmuk
Some of it is free...

~~~
orillian
Alpha is free to "diddle" with, but you can't do anything of substance with
it, unless you pay for that privilege.

------
undoware
I can't wait -- this is going to change my life as profoundly as Wolfram
Alpha.

How¸ you ask? Well, I'll just Alpha that for you...

------
bsaul
Btw did "a new kind of science" had any kind of application so far ?

~~~
taliesinb
I'm a Wolfram science summer school instructor, so I'm in a position to see
the kinds of trends there are towards NKS-style methods. It's slow, but
definitely there. Some of it is directly inspired, some of it is 'convergent
evolution'.

Here's a very high-level and eclectic list of themes and specific research
directions I can remember off-hand: agent-based modeling in economics and
operational research, game theory automata in evolutionary biology, lattice
gas methods in fluid dynamics, tessellation-based approaches to solving PDAs,
L-systems in architectural design, logic automata for programming array-based
computers, cellular automata-based PRNGs for stream ciphers, program search
for finding lock-free concurrent algorithms, rBMs as used in deep learning.

In fact, I used an exhaustive NKS-style search the other day to find novel
data query primitives (i.e. what other functions live in the type-signature
space that MapReduce occupies?).

~~~
pbsd
> cellular automata-based PRNGs for stream ciphers

This is something that kind of died in the late 80s. One of the most
noteworthy cases was Damgard's CA-based hash function in the paper that proved
collision-resistance of the Merkle-Damgard mode [1]. It was quickly broken
[2]. The SHA-3 winner, Keccak, has roots in CA-based designs [3], but at this
point it's little more than an historical footnote.

[1]
[http://www.inf.usi.ch/faculty/shrimpton/spring09/damgard89.p...](http://www.inf.usi.ch/faculty/shrimpton/spring09/damgard89.pdf)

[2]
[http://www.cosic.esat.kuleuven.be/publications/article-132.p...](http://www.cosic.esat.kuleuven.be/publications/article-132.pdf)

[3] [http://ice.mat.dtu.dk/slides/KeccakIcebreak-
slides.pdf](http://ice.mat.dtu.dk/slides/KeccakIcebreak-slides.pdf)

~~~
taliesinb
For 2, I think it was overly ambitious to think that within a program family
so small it has only 88 members there would be one ideal hash function. And If
you compare the simplicity of Damgard's design to the contortions that modern
hash designs employ to stymy cryptanalysis, it's hard to think that more
designs constructions wouldn't perform better, even on that particular
automaton.

For 3, I think having a full 7 slides of Bertoni et al's slide deck devoted to
the influence of CA-based cryptography on SHA-3 makes it fair to call the
approach influential.

Thanks for the references!

------
ffk
If scientists can build computational models and test ideas in a significantly
easier way, then this is definitely an important project.

Wolfram has a large following in the academic world and improvements to his
product line can turn into real results.

~~~
gh02t
I wouldn't say Wolfram himself has a large following in the sciences. At least
in my area (math and engineering) he is actually widely and heavily
criticized. However, some of the things his company makes are widely used.
Mathematica is a genuinely wonderful tool (if you have deep pockets) and Alpha
is also very popular.

~~~
ffk
Sorry for the miscommunication, I specifically meant the tools created by his
company such as Mathematica and Alpha.

------
lignuist
I am going to post an epic comment. Stay tuned.

------
jere
>There are plenty of existing general-purpose computer languages. But their
vision is very different—and in a sense much more modest—than the Wolfram
Language.

Indeed.

------
yonks
Reads like a fever dream. A programming system that curates algorithms _and_
data. What could possibly go wrong?

------
phelmig
Sounds like the announcement of wolfram|alpha and even if I enjoy using it, it
wasn't that big of a revolution ...

------
TheMagicHorsey
I have a dream! A dream that ....

One time I knocked my head and blurted out all my ideas without any demos too.

------
yannis
Sounds very promising, Wolfram seems to be on the right track here, pricing
might be an issue but I am looking forward to the "language" like the instant
cloud deployment.

------
thadk
There is more happening with R, D3 / Javascript info vis, and the
iPython/Notebook stack around data science than Wolfram as a singular
corporation can possibly keep up with. In a recent version R was embraced and
extended, is this another step with those same sorts of strategies?

The value of these Open Source communities go way beyond the core language and
arise out of the structure.

This will go the way of Linux/BSD (only Microsoft could justify rolling
forward alone with its own OS kernel).

------
mlangdon
Too long; didn't hello world.

------
chbrown
I love hearing Wolfram give talks (I went to his Elements intro at the SF
Maker's Fair, right after the iPad came out), and his blog posts; I get sucked
in, thinking--- this genius, he thinks of everything!

Then I try to find the "Redo" button in Mathematica and I reconsider.

------
lispm
The main difference of the Mathematica language to Lisp was this:

a) the Mathematica language has an extensive user manual, but the
specification of the language is missing.

b) Mathematica uses term rewriting. Lisp is based on an evaluation model, with
procedural macros added.

~~~
mst
Unless I misunderstand what you mean by 'term rewriting', fexpr based lisps
are similar - everything is a rewrite on the program tree, but 'normal'
functions evaluate their arguments before doing things with them, and compile
time macros (not reader macros) are effectively a first pass over that tree
where any symbol not already bound to a macro is treated as the identity
function.

The kernel language and associated $vau calculus go into this more, and I've
experimented with it somewhat myself having ported Manuel's wat-js to perl.

~~~
lispm
Roman E. Maeder:

> Pattern matching and term rewriting is the fundamental operating principle
> of Mathematica’s evaluator. All other programming constructs are implemented
> by way of term rewriting.

------
plg
wow, man. mathematica has jumped the shark

------
simonhughes22
So they spent 25 years reinventing LISP?

------
FrankenPC
Pop quiz: How long have they been working on this?

------
lubujackson
This is hurting my brain.

