<mattam>
or maybe a stack overflow could manifest itself that way, i'm not sure
head3r has joined #ocaml
\-Catch22-\ has joined #ocaml
<jdh30>
there are lots of ways to segfault an ocaml program
<jdh30>
ocaml programs are just much less likely to segfault
head3r has left #ocaml []
<jdh30>
this was discussed at length on the caml-list recently until Xavier Leroy wrote rather a rude post demanding that people stopping dissing OCaml publically
Nutssh has joined #ocaml
<Smerdyakov>
There's a conflation here of the language and the compilers.
<Smerdyakov>
The language probably has a safe semantics, as reasonable people would formalize it.
<loufoque>
jdh30: can you point me to that discussion?
<loufoque>
is msvc or mingw/cygwin required to install lablgtk on win32?
smimou has quit ["bli"]
hsuh has joined #ocaml
<jdh30>
given that there is only one compiler and no language specification, trying to disambiguate seems fruitless to me
<Smerdyakov>
I disagree. There's a clear difference between a dangerous language feature and a compiler bug.
<Smerdyakov>
I know. I read it all as it happened. :P
<jdh30>
Subject: "Search for the smallest possible possible Ocaml segfault.... "
<Smerdyakov>
And the first post was sent one desk down from me. ;)
<jdh30>
i'm replying to loufoque
<jdh30>
really?
<jdh30>
where do you work?
<Smerdyakov>
Jane St.
<jdh30>
aha
<jdh30>
and how is the world of finance?
<jdh30>
are you in NY?
<Smerdyakov>
Fine, and yes.
<hsuh>
Smerdyakov: can you tell us some about real time trading systems ? :)
<jdh30>
I must say I was quite disappointed with that thread. The functional programming communities seem to be full of contempt at the moment... :-(
<jdh30>
i can tell you about real-time visualization. :-)
<Smerdyakov>
hsuh, no, but I can tell you about each one of those words individually!
<jdh30>
if I'm welcome at Jane St. I might pop in next year: D. E. Shaw want me to fly out and say hello
<Smerdyakov>
jdh30, you're welcome to apply, natch.
<Smerdyakov>
jdh30, or do you mean just to give a talk?
<jdh30>
I was thinking more along the lines of beer actually
<Smerdyakov>
You could schedule everything to coincide with the monthly meeting of the NY functional programming group.
<jdh30>
Hmm, are there lispers?
<Smerdyakov>
Yes.
<jdh30>
hehe
<jdh30>
sounds like a ball
<mbishop>
wish I lived somewhere with a functional programmer meetup :(
<jdh30>
Here in Cambridge ingerland we don't really have functional programming users groups as such
<jdh30>
we just all know each other
<jdh30>
very cool: I know Alan Mycroft and Morris Wilkes.
<jdh30>
haven't met Simon Peyton Jones yet or Robin Milner...
<jdh30>
Oh, and I know Don Syme of course. :-)
<jdh30>
I would suggest my giving a talk to Jane St. about F# but xavierbot will probably leap up and castrate me. :-(
<mbishop>
I wonder if Robin Milner is as crazy as he looks
<Smerdyakov>
That sounds like a pretty poor deal. Everyone in the PL research world knows everyone else, with no geographic limitations. :P
<jdh30>
he sure looks crazy. :-)
<jdh30>
I'm not in PL research: I'm a physicist. :-)
<Smerdyakov>
Yeah, my condolences.
<jdh30>
Well I was at least. Now I earn a living by annoying lispers...
<Smerdyakov>
Do you do just OCaml consulting?
<jdh30>
and F#.
<Smerdyakov>
How many customers do you have?
<jdh30>
I have also been doing a bunch of other things like helping my wife found a vets practice but everything else has fallen through and now I'm back full-time at FFC.
<jdh30>
We have >300 customers.
<jdh30>
worldwide, of course.
<Smerdyakov>
Let me get this straight.
<Smerdyakov>
You have 300 customers who use OCaml?
<Smerdyakov>
(or F#)
<jdh30>
Yes.
<Smerdyakov>
Probably most don't realize it, right? =)
<jdh30>
About 250 who've paid me to teach them OCaml in some form or another (mostly by buying a copy of OCaml for Scientists)
<jdh30>
No, they all realise it.
<Smerdyakov>
Oh, you're counting book buyers as customers in this sense?
<jdh30>
By my estimate OCaml now has tens of thousands of users.
<jdh30>
Yes.
<Smerdyakov>
Buying a book for cheap is a lot different than committing to hiring a consultant.
<jdh30>
Only a handful of companies have actually paid me to consult for them.
<jdh30>
Yes.
<hsuh>
oh hello Dr. Jon :)
<jdh30>
Historically we started out doing consultancy but the income from that is too random to feed a family so I've been concentrating on building product lines and selling larger numbers of cheaper goods.
<jdh30>
is that soohyoung oh?
<Smerdyakov>
OK, so going back to what I was trying to ask, how many consulting jobs have you had where you used OCaml, and how many of the customers realized you were using it?
<jdh30>
Ugh, good question.
<jdh30>
First job was working at Wolfram Research writing a Mathematica JIT compiler back in 2004.
<Smerdyakov>
I was actually hoping for a pair of numbers.
<jdh30>
Oh, ok.
<jdh30>
What constitutes a "customer"?
<Smerdyakov>
If you spread the news that said party had hired you as a consultant, there would be no worries of being sued for improper representation of a business relationship.
<jdh30>
I've always made sure that our customers don't mind being cited: that generally isn't a big concern for them.
<Smerdyakov>
I was just trying to answer your question.
<jdh30>
So we've consulted for WRI, XenSource, Microsoft and Merjis.
<Smerdyakov>
And how many "consulting jobs" is that that use OCaml?
<jdh30>
Probably some small ones but I can't think who...
<jdh30>
All of them
<jdh30>
Entirely OCaml
Modius has quit ["Leaving"]
<Smerdyakov>
Are any of these jobs active now?
<jdh30>
No.
<Smerdyakov>
What is the total of their lengths?
<jdh30>
About 1 year
<Smerdyakov>
OK, so about 50% hit rate for the time you've been in the biz?
<jdh30>
I guess 33% yes (we started at the end of 2004).
<Smerdyakov>
OK, so the world isn't ready for ML-based consulting, I guess. ;)
<jdh30>
I suspect it probably is, as of next year. OCaml has been our largest source of income over the past three years until this month, when F# shot past following Microsoft's announcement that they are productizing it.
<Smerdyakov>
Could be.
<jdh30>
Writing books can be a large part of consultancy as well, and the world is crying out for more books on OCaml.
<Smerdyakov>
I never thought of that as a standard consulting thing, but I'll take your word for it.
<jdh30>
Most contracts basically require you to write a book detailing your relevant findings. Naturally, a consultant ends up salami slicing these books in order to reduce overall workload.
<jdh30>
So consultancy can be writing a book than only sells one copy but for $25,000
<jdh30>
who is hsuh?
<Smerdyakov>
How long would you expect to work on that book?
<jdh30>
Depends. Probably 1-3 months.
<Smerdyakov>
Doesn't sound very lucrative.
<jdh30>
Microsoft sure want their money's worth though. Been working on F# for Scientists all year...
<jdh30>
Once you have the contracts, it is easier to earn lots of money in a short amount of time as a consultant.
<Smerdyakov>
Not spending 3 months for $25k.
<jdh30>
However, contracts have a habit of drying up or drowning you at any given time.
<jdh30>
Well, £50k p.a. is a good salary here
<jdh30>
In theory, building a good reputation from previous work will get people coming back for more. In practice, that has happened with our products but not yet with consultancy.
<Smerdyakov>
You couldn't live that well with a family in London as the sole income earner, right?
<jdh30>
What is the going rate for a quant?
<Smerdyakov>
I read a report recently on quant rates in the UK.
<Smerdyakov>
It's several times about the amount you gave on average a few years in, I think.
<jdh30>
just googling. :-)
<Smerdyakov>
Oh, and I meant s/about/above.
<jdh30>
That doesn't seem to be right. Do you really earn $400k?
<jdh30>
How much does someone just starting in quant earn?
<Smerdyakov>
See page 29 of that PDF.
<jdh30>
Ok, the top salary on that page is only 100+, which is double the figure I cited.
<Smerdyakov>
Catch the bonus percent of 1000 after that? :)
<jdh30>
Sure, you can't feed a family on sporadic bonuses though.
<Smerdyakov>
No, they come every year, or you're effectively fired.
<jdh30>
So if I had started out as a quant after my PhD I would probably be earning the same amount as I am now.
<jdh30>
Had I not been fired. :-)
<Smerdyakov>
When did you finish your PhD?
<jdh30>
2004
<jdh30>
end
<Smerdyakov>
If you started as a quant in 2004 and were only earning 50 pounds a year, then you would have messed up.
<jdh30>
£50 a year or £50k?
<Smerdyakov>
Heh. Yeah, I meant 50k.
<jdh30>
That page says 3-5 years gives 6-100k
<jdh30>
so I'd have been doing it for ~3 years => 60k
<Smerdyakov>
And multiply by 75% at the low end of the bonus range.
<simon>
heh. I made £7.5k last year.
<jdh30>
Or get fired...
<jdh30>
LOL. :-)
<Smerdyakov>
Anyone can get fired from a job.
<Smerdyakov>
Finance just uses performance-based pay.
<jdh30>
How do I get fired from my job?
<jdh30>
Seriously, I keep trying to get myself fired but I just can't pluck up the courage to fire myself... ;-)
<simon>
oh, there are so many ways.
<Smerdyakov>
Look, I think you just don't understand how this works. You take on risk in exchange for benefit.
<jdh30>
Sure. You can't feed a family on risk though: you need a basic income.
<Smerdyakov>
It's much less risk than most people have in their careers.
<Smerdyakov>
(If you're good)
<jdh30>
What do you do for a living, Simon?
<Smerdyakov>
Figuring bonuses at year end is a lot like arranging individual consulting jobs, really.
<Smerdyakov>
If you mess up during the year in either situation, you're in trouble.
<simon>
jdh30, I finished the equivalence of high school this summer. this year I'm doing literally nothing. next year, math at university.
<Smerdyakov>
If you do especially well, you get rewarded.
<simon>
s/year/school year/
<jdh30>
Which university?
<simon>
jdh30, copenhagen, denmark
<jdh30>
Smerdyakov, the difference is that my random contracts are offset by a steady income from a variety of different revenue streams (products)
<jdh30>
Those are rising more slowly but also more steadily.
<Smerdyakov>
jdh30, and quants have steady income streams, too.
<jdh30>
If I screw up, I still get the sales.
<jdh30>
When raising a family, I think it is the steady income stream that you must consider.
<jdh30>
When I was single I could afford to take risks but now I cannot
<Smerdyakov>
jdh30, you already said that that table would imply that you'd have about the same steady income stream as a quant.
<simon>
I was playing around as a programmer for a Web 2.0 company, but their indecisiveness drove me nuts.
<jdh30>
So I'm much more interested in a future proof steady income, with possible risky contracts/bonuses
<Smerdyakov>
jdh30, _exactly_ how things work in finance....
<jdh30>
Salary aside, I really like being in complete control of the company. If I want to move into F# then we move into F# etc.
<jdh30>
Maybe finance is the most closely related job to mine then. I'd never really though about it...
<Smerdyakov>
Do you really see yourself taking on projects that could lead to a million pounds in a year? That's the big difference there. :P
<jdh30>
Absolutely.
<jdh30>
More.
<jdh30>
I'd like to build a billion dollar industry.
<jdh30>
If I only reach a $1M profit per year then I have failed.
<Smerdyakov>
In your situation, you're more likely to walk away with 0 if you don't play some business angle right.
<jdh30>
There is still one major difference though: I cannot get fired. If was a quant and I got fired then I would lose all of the income that my family now depend upon.
<jdh30>
That's true of any kind of work.
<Smerdyakov>
You can't get fired, but you can also work on something for a long time and end up with 0 income for that period.
<jdh30>
No. What could I do that would remove all revenue streams at once?
<jdh30>
We're earning from Linux, Windows, OCaml, F#, Mathematica and SML. We're moving into Scala and maybe Haskell.
<simon>
jdh30, selling software products?
<jdh30>
Nothing could simultaneously undermine all of those product lines and all contracts, which would be the equivalent to getting fired.
<jdh30>
We're constantly building more product lines but we now have a stable income from them.
<jdh30>
So I can now afford to take more risks as nothing can undermine that source of income
<jdh30>
Selling products is very hard though.
<Smerdyakov>
Yup. Awfully nice only to have to worry about technical challenges....
<jdh30>
I think there is plenty of scope for other people to do the same thing.
<jdh30>
Getting to where I am now has been incredibly hard work though but I love my job... :-)
<jdh30>
Actually most of what I do now is business challenges. Marketing is a major concern once you have products and it is something that few people know how to do effectively.
<Smerdyakov>
And you like doing marketing?
<jdh30>
Yes, I love all of the challenges of building a business.
<jdh30>
For example, how do you sell a book on OCaml without spending any money?
<mbishop>
My comedy gold went unnoticed on programming.reddit.com as usual :(
buluca has quit [Read error: 113 (No route to host)]
bluestorm_ has quit ["Konversation terminated!"]
buluca has joined #ocaml
vpalle_ has joined #ocaml
hkBst has quit ["Konversation terminated!"]
wieczyk has joined #ocaml
mikeX_ has joined #ocaml
vpalle has quit [Read error: 110 (Connection timed out)]
Languine has joined #ocaml
mikeX has quit [Read error: 110 (Connection timed out)]
ikaros has quit [Remote closed the connection]
ikaros has joined #ocaml
romanoffi has joined #ocaml
kelaouchi has quit ["leaving"]
buluca has quit [Read error: 113 (No route to host)]
bluestorm_ has joined #ocaml
ikaros has quit ["segfault"]
schme` has joined #ocaml
ikaros has joined #ocaml
l_a_m has joined #ocaml
schme has quit [Read error: 110 (Connection timed out)]
jburd has joined #ocaml
diakopte1 has quit ["leaving"]
diakopter has joined #ocaml
mikeX_ has left #ocaml []
felix^^ has joined #ocaml
jburd has left #ocaml []
Languine has quit ["Leaving."]
pango has quit [Remote closed the connection]
<felix^^>
hi, i'm trying use a module (Expat) and open'ing it at the beginning, then compiling it using 'ocamlc expat.cma myfile.ml' -- however this fails, and says that the module Expat is unbound, could someone please help me and explain what this means?
TFK has joined #ocaml
<bluestorm_>
felix^^:
<Smerdyakov>
Are you sure expat.cma binds a module "Expat"?
<bluestorm_>
maybe expat.cma is not in your dir, and not in your ocaml include path
<Smerdyakov>
The names of .cma files don't imply module existence. They bundle multiple modules with arbitrary name.s