3,215 reputation
1117
bio website jelv.is
location Berkeley, CA
age 22
visits member for 4 years, 6 months
seen 9 hours ago

I am a software engineer primarily interested in programming languages, functional programming, program synthesis, type theory, universal algebra and startups (not necessarily in that order!). In the near future, I want to combine as many of these as possible.

Right now I'm an engineer at Esper, an early stage startup in Palo Alto. We use OCaml on the backend, which is pretty neat.

I am always happy to chat: my email is tikhon@jelv.is.

I am especially interested in questions and projects involving Haskell or interesting PL issues.

GitHub: http://github.com/TikhonJelvis

Website: http://jelv.is


Jul
9
comment Functional Programming, JavaScript and UI - some neophyte questions
@ErikReppen: Check out FlapJax. If you don't mind a slightly more abstract library, check out Arrowlets which adds Haskell-style arrows to JavaScript. If you're into C#, there is RX.js which is a port of C#'s Reactive Extensions (RX). I've only played around with the latter two, and liked Arrowlets the most, but I'm rather partial to Haskell and so naturally biased :P.
Jul
7
comment Functional Programming, JavaScript and UI - some neophyte questions
Event driven programming is not the only way to write UIs. I suggest you take a look at some reactive programming libraries for Javascript: they can actually make your event-driven code simpler, elegant and more functional.
Jul
7
comment Why did visual programming never take off and what future paradigms might change that?
@PieterB: Not power users of the software they're working on but power users of their development tools like editors and programming languages. Unless, of course, the software they're working on also happens to be a development tool :P.
Jul
4
comment What does it mean if a job requires a “Bachelor's degree in Computer Science or related field”?
Keep in mind that a lot of these people predate CS as a field. The very first CS program to actually have that name was in 1953. I imagine it took a while after that for CS programs to spread to other universities. But yeah, there is no question that a mathematics education can produce a great programmer (as well as other fields like Physics or EE). Also, one Turing award winner studied Political Science, of all things, but I think that is just a coincidence.
Jul
3
comment The most mind-bending programming language?
One surprising thing about Prolog is that a basic prolog interpreter is actually surprisingly simple to implement. The fundamental algorithms behind it (e.g. unification and resolution) turned out to be much simpler than I thought they would be.
Jul
2
comment Is it worth to learn Experimental Languages?
@JörgWMittag: I think that says more about Java than about Haskell though.
Jun
17
comment Programming Language, Turing Completeness and Turing Machine
Yes, the lambda calculus is the genesis of functional programming. However, even Turing machines are naturally expressed in terms of functions; the formal definition of a Turing machine is just a tuple of some sets, symbols and a transition function.
Jun
11
comment How do I completely-self-study Computer Science?
I'm doing EECS at Berkeley right now. If the MIT EECS program is structured anything like Berkeley's, then you won't get much guidance there: we have a short intro sequence and then it's literally do whatever you want in whatever order you want as long as you do a minimum number of advanced courses. I think it's awesome, but it probably won't help you figure out which courses to take: I had to make the same decisions myself. (I had help from my faculty advisor, but in a complete coincidence his advice was to take his graduate seminar :)).
Jun
10
answered Why don't browsers support haml and sass?
Jun
10
comment How do you stay in touch with a programming language?
People with lives, spouses, kids and so on manage to (for example) watch TV just fine. If you really enjoy programming, you could just spend equivalent time on your side project instead.
Jun
3
comment Programming languages, positional languages and natural languages
Sort of. Particularly, I'm thinking of languages where you represent computation primarily using mathematical ideas. Mostly functional programming languages like Haskell. So it doesn't just express mathematical concepts, it actually uses them for everything like representing state and IO. It's also closer to mathematical notation than a natural language.
Jun
3
comment Programming languages, positional languages and natural languages
@JarrodRoberson: While you are right, I don't think Turing completeness is a useful criteria to define a "programming language". Particularly, there are some very nice total functional languages that are not Turing complete but are still useful for writing programs (e.g. Epigram or Agda).
Jun
3
comment Programming languages, positional languages and natural languages
You should also note programming languages that are primarily inspired by math. At least in PL research, these are fairly common.
Jun
3
comment Is musical notation Turing-Complete?
What you listed is not necessary for a Turing complete language. Lambda calculus only has applications, variables and lambdas (e.g. no loops, states or commands) but is Turing complete. The same goes for a bunch of other models of computation like SKI combinators.
Jun
3
comment Is musical notation Turing-Complete?
Building a Turing machine is the standard way to prove something is Turing complete, but the converse is not true--simply because you cannot figure out how to build a Turing machine does not mean something is not Turing complete. A Turing machine (with a tape and all) is just an arbitrary abstraction that has enough computing power; there are other abstractions just as powerful with no notion of tapes. Take a look at lambda calculus, SKI calculus or some esoteric languages (Fractran is cool).
Jun
2
comment What's the difference between computer science and programming?
That's a little bit narrow. At the very least, the "Algorithms, Machines and People" lab at my university would like to disagree :). And that lab contains some of the top CS researchers, period. Also all the HCI people everywhere. I'm being a little facetious, but CS is really more broad than just algorithms and math.
Jun
2
comment What's the difference between computer science and programming?
Also, most of the people I know working as programmers don't do it for the money (although the money certainly doesn't hurt!): they do it because they love programming and they love making stuff and they love solving hard problems. Some of the smartest people I know could be making far more money in finance or the like, but instead they work for a startup or Google or Facebook just because they really love it. (Of course the salaries there aren't shabby either.)
Jun
2
comment What's the difference between computer science and programming?
Except it's not really a "science" in the same way as physics or chemistry: we don't even pretend to follow the scientific method. Even the "soft" sciences do experiments with control groups and the like; CS has more in common with engineering and math than actual science.
Jun
2
comment What's the difference between computer science and programming?
I don't think you should tie CS (despite the name) too closely to computers: first and foremost, it is the study of information. It just happens that the term "computer" encompasses most of the different physical tools we use to work with information, so almost any study of information is going to involve programming a computer.
May
31
awarded  Nice Answer