mbishop changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | Grab Ocaml 3.10.0 from http://caml.inria.fr/ocaml/release.html (featuring new camlp4 and more!)
doctormach has joined #ocaml
buluc1 is now known as buluc
buluc is now known as buluc1
buluca has quit [Nick collision from services.]
buluc1 is now known as buluca
doctormach has left #ocaml []
jdh30 has joined #ocaml
l_a_m has quit [Remote closed the connection]
zvrba has quit [Remote closed the connection]
zmdkrbou has quit [Remote closed the connection]
zmdkrbou has joined #ocaml
zvrba has joined #ocaml
<loufoque> woah
<loufoque> I got a segfault with a caml program
<loufoque> I thought this wasn't possible
<mattam> except when you use C...
<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.
<jdh30> here's the link:
<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?
<Smerdyakov> I don't, but I just started.
<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> yes
<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 :(
<jdh30> what was that? link?
<mbishop> I'd have thought ripping on new jersey would get plenty more than just 3 upvotes heh
<jdh30> Make that 4. ;-)
<mbishop> :P
<mbishop> funny to see Dons submit something to reddit other than Haskell links
hsuh has quit ["fui"]
buluca has quit [Read error: 113 (No route to host)]
pango_ has quit [Remote closed the connection]
<jdh30> i love the way paul graham lists lisp but not ocaml and haskell. :-)
<jdh30> anyone here been following the crazy threads on usenet recently?
pango_ has joined #ocaml
loufoque has quit ["Quitte"]
jdh30 has quit ["using sirc version 2.211+KSIRC/1.3.12"]
jlouis has joined #ocaml
schme` has quit [Read error: 110 (Connection timed out)]
jlouis_ has quit [Read error: 110 (Connection timed out)]
mrsolo has joined #ocaml
david_koontz has quit []
filp has joined #ocaml
jburd has joined #ocaml
filp has quit ["Bye"]
mrsolo has quit ["This computer has gone to sleep"]
mrsolo has joined #ocaml
mikeX has joined #ocaml
pango_ has quit [Remote closed the connection]
ygrek has joined #ocaml
pango_ has joined #ocaml
asmanur has joined #ocaml
mikeX__ has quit [Read error: 110 (Connection timed out)]
\-Catch22-\ has quit [Read error: 110 (Connection timed out)]
pango_ has quit [Remote closed the connection]
pango_ has joined #ocaml
flux has quit [Remote closed the connection]
flux has joined #ocaml
ttamttam has joined #ocaml
ttamttam has quit ["Leaving."]
jburd has quit ["Leaving."]
Yoric[DT] has joined #ocaml
<Yoric[DT]> hi
buluca has joined #ocaml
ttamttam has joined #ocaml
jlouis_ has joined #ocaml
jlouis has quit [Read error: 110 (Connection timed out)]
schme has joined #ocaml
vpalle has joined #ocaml
buluca has quit [No route to host]
hkBst has joined #ocaml
Tetsuo has joined #ocaml
pango_ has quit ["I shouldn't really be here - dircproxy 1.0.5"]
ygrek has quit [Remote closed the connection]
<hkBst> is ocaml an extension of sml or are there other differences?
<flux> there are many differences; you can find comparisons on the web
bluestorm_ has joined #ocaml
<hkBst> are there any good tutorials?
<bluestorm_> what for ?
pango has joined #ocaml
<hkBst> bluestorm_: for (oca)ml
ikaros has joined #ocaml
smimou has joined #ocaml
buluca has joined #ocaml
<ttamttam> There is also www.ocaml-tutorial.com, but
<ttamttam> not really a tutorial.
<ttamttam> Seems more like a collection of small howtos
<hkBst> thank ttamttam
<ttamttam> No problem.
<ttamttam> Oh. This one is said to be pretty good: http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf
<ttamttam> but I never read it.
ttamttam has left #ocaml []
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
<felix^^> Smerdyakov: that's at least how i read the doc: http://www.xs4all.nl/~mmzeeman/ocaml/expat-doc/Expat.html
<bluestorm_> for example it may be in /usr/lib/ocaml/site-libs
<felix^^> Smerdyakov: but i'm very new to ocaml so i might misunderstand
<Smerdyakov> You should also try adding a -I argument, like bluestorm_ is getting to suggesting.
<bluestorm_> :p
<felix^^> bluestorm_: i do get another error if i choose a different name, so i guess it finds expat.cma
pango has joined #ocaml
<bluestorm_> i'd try adding -I path_to_expat.cma's_dir, still
<felix^^> ok
<felix^^> after the ocamlc?
<bluestorm_> yes
<felix^^> ok, will do - thanks :)
<bluestorm_> hm
<bluestorm_> the tarball i can find on the net use findlib
<felix^^> mh same error message
<felix^^> bluestorm_: what does that mean?
eroyf has quit [Read error: 104 (Connection reset by peer)]
<bluestorm_> try "ocamlfind ocamlc -package expat -linkpkg myfile.ml -o test"
<felix^^> ok
<bluestorm_> ocamlfind/findlib is a tool to manage some OCaml packages
<felix^^> uh works!
<felix^^> thank you
eroyf has joined #ocaml
ikaros has quit ["segfault"]
felix^^ has quit ["leaving"]
ita has joined #ocaml
joshcryer has quit [Read error: 113 (No route to host)]
mordaunt has joined #ocaml
buluca has joined #ocaml
ttamttam has joined #ocaml
beschmi has joined #ocaml
|Catch22| has joined #ocaml
EliasAmaral has quit [Remote closed the connection]
ygrek has joined #ocaml
ygrek has quit [Client Quit]
ygrek has joined #ocaml
rickardg has joined #ocaml
beschmi has quit [Remote closed the connection]
Jedai has joined #ocaml
buluca has quit [Read error: 113 (No route to host)]
TFK has quit ["Leaving"]
Torment has quit [Read error: 110 (Connection timed out)]
CRathman has joined #ocaml
Demitar has quit [zelazny.freenode.net irc.freenode.net]
romanoffi has quit [zelazny.freenode.net irc.freenode.net]
bhall has quit [zelazny.freenode.net irc.freenode.net]
Oatschool has quit [zelazny.freenode.net irc.freenode.net]
det has quit [zelazny.freenode.net irc.freenode.net]
dropdrive has quit [zelazny.freenode.net irc.freenode.net]
Sparkles has quit [zelazny.freenode.net irc.freenode.net]
vorago has quit [zelazny.freenode.net irc.freenode.net]
guyzmo has quit [zelazny.freenode.net irc.freenode.net]
|Catch22| has quit [zelazny.freenode.net irc.freenode.net]
eroyf has quit [zelazny.freenode.net irc.freenode.net]
diakopter has quit [zelazny.freenode.net irc.freenode.net]
seafood has quit [zelazny.freenode.net irc.freenode.net]
mattam has quit [zelazny.freenode.net irc.freenode.net]
rickardg has quit [Connection timed out]
diakopter has joined #ocaml
seafood has joined #ocaml
mattam has joined #ocaml
romanoffi has joined #ocaml
Demitar has joined #ocaml
bhall has joined #ocaml
guyzmo has joined #ocaml
vorago has joined #ocaml
det has joined #ocaml
Oatschool has joined #ocaml
Sparkles has joined #ocaml
dropdrive has joined #ocaml
wieczyk has quit ["leaving"]
seafood has quit [Remote closed the connection]
seafood has joined #ocaml
CRathman has quit [Connection timed out]
ygrek has quit [Remote closed the connection]
piggybox has joined #ocaml
kelaouchi has joined #ocaml
ygrek has joined #ocaml
joshcryer has joined #ocaml
RyanTM has joined #ocaml
ita has quit [Read error: 110 (Connection timed out)]
CRathman has joined #ocaml
CRathman has quit [Remote closed the connection]
eroyf has joined #ocaml
piggybox_ has joined #ocaml
RyanTM has quit [zelazny.freenode.net irc.freenode.net]
piggybox has quit [zelazny.freenode.net irc.freenode.net]
romanoffi has quit [zelazny.freenode.net irc.freenode.net]
bhall has quit [zelazny.freenode.net irc.freenode.net]
Oatschool has quit [zelazny.freenode.net irc.freenode.net]
det has quit [zelazny.freenode.net irc.freenode.net]
dropdrive has quit [zelazny.freenode.net irc.freenode.net]
Sparkles has quit [zelazny.freenode.net irc.freenode.net]
vorago has quit [zelazny.freenode.net irc.freenode.net]
guyzmo has quit [zelazny.freenode.net irc.freenode.net]
Demitar has quit [zelazny.freenode.net irc.freenode.net]
RyanTM has joined #ocaml
piggybox has joined #ocaml
romanoffi has joined #ocaml
Demitar has joined #ocaml
bhall has joined #ocaml
guyzmo has joined #ocaml
vorago has joined #ocaml
det has joined #ocaml
Oatschool has joined #ocaml
Sparkles has joined #ocaml
dropdrive has joined #ocaml
RyanTM has quit [Remote closed the connection]
RyanTM has joined #ocaml
guyzmo has quit [Remote closed the connection]
guyzmo has joined #ocaml
ttamttam has left #ocaml []
ygrek has quit [Remote closed the connection]
filp has joined #ocaml
xavierbot has quit [Read error: 110 (Connection timed out)]
piggybox has quit [SendQ exceeded]
asmanur has quit [Remote closed the connection]
thesoko has joined #ocaml
Torment has joined #ocaml
rogo has quit ["Leaving."]
Yoric[DT] has quit ["Ex-Chat"]
mordaunt has quit [Remote closed the connection]
mordaunt has joined #ocaml
mordaunt has quit [Read error: 104 (Connection reset by peer)]
loufoque has joined #ocaml
<loufoque> Is it just me or does Bigarray do bounds checking even with -unsafe?
Jedai has quit [No route to host]
l_a_m has quit [Remote closed the connection]
Tetsuo has quit [Remote closed the connection]