3,791 reputation
21647
bio website connjur.uchc.edu
location Connecticut, USA
age 27
visits member for 2 years, 8 months
seen Jul 9 at 14:35

I work in a scientific computing group on the CONNJUR project, providing open-source software for NMR (Nuclear Magnetic Resonance) spectroscopy.

Check out some of my work on github:

  • NMRPyStar: an API for accessing archived NMR data files in the NMR-Star format used by the BMRB.

  • Miscue-js: validation of JSON files to deal with obnoxious and tricky interoperability issues such as number overflows and duplicate keys

Some technologies that I've used and like:

  • Python
  • git
  • Javascript
  • Haskell
  • Java
  • MySQL

Apr
4
comment Performance of single-assignment ADT oriented code on modern CPUs
I'd also like to point out that memory efficiency doesn't necessarily have to depend on compiler optimizations when using immutable structures. In this example let a = [1,2,3] in let b = 0:a in (a, b, (-1):c) sharing reduces the memory requirements, but depends on the definition of (:) and [] and not the compiler. I think? Not sure about this one.
Apr
4
revised Performance of single-assignment ADT oriented code on modern CPUs
added 4 characters in body; edited tags
Apr
4
comment What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?
@AmoghTalpallikar the only way to get good at it is to do it and look at how other top coders do it. There's no magic trick. Parentheses matching isn't a problem if you have any kind of code-aware text editor at all.
Apr
4
comment What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?
Yes, Lisps do have syntax in multiple forms: 1) numbers, strings, symbols, lists, etc.; 2) special form syntax -- such as define <symbol> <form> or lambda <parameter list> <body forms>; 3) macro syntax, both reader macros and the other kind; 4) syntax extensions such as Clojure uses, i.e. [...] for vectors, {...} for object literals, etc. So it's really false advertising to say that Lisps are syntax-free.
Apr
4
answered What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?
Apr
3
revised Map of functions vs switch statement
added 153 characters in body
Apr
3
answered Map of functions vs switch statement
Mar
29
comment Why is Option/Maybe considered a good idea and checked exceptions are not?
Also see the Either e a datatype.
Mar
29
comment Why is Option/Maybe considered a good idea and checked exceptions are not?
-1; exception explanation and example doesn't make sense; doesn't mention the common Either datatype, which is probably what the OP meant to mention; doesn't mention common boilerplate-avoidance techniques when dealing with nullable/error types such as monads and applicative functors.
Mar
26
revised What does SVN do better than Git?
minor cleanup
Mar
23
revised How can I learn to effectively write Pythonic code?
i'm an idiot ... seriously what a dumb question
Mar
23
awarded  Good Question
Mar
20
comment Language design suggestion on database query
@RichardHeath good luck! Try lots of stuff. Make mistakes. Build something awesome!
Mar
20
answered Language design suggestion on database query
Mar
16
comment Do frameworks put too much abstraction?
Sorry, but this doesn't answer the question. The way I interpreted it, this question is about when there's too much abstraction and the problems that causes, not about whether abstraction and frameworks can be helpful. The OP seems to already understand that they can be useful. However, bad abstractions can be every bit as painful and limiting as good abstractions can be helpful and liberating.
Mar
14
revised How to choose a proper parser generator for PHP
added 8 characters in body
Mar
14
comment How to choose a proper parser generator for PHP
@PeterKrauss my apologies for misunderstanding your question. Unfortunately, I still don't understand it.
Mar
14
revised How to choose a proper parser generator for PHP
try to shorten and clarify. hopefully didn't change the meaning
Mar
14
comment How to implement lazy evaluation of if()
I'm not sure, but should "closure" be "thunk"? Hmm, maybe not; just looked at the wikipedia page: "a thunk is a parameterless closure".
Mar
14
answered How to choose a proper parser generator for PHP