3,612 reputation
21545
bio website connjur.uchc.edu
location Connecticut, USA
age 27
visits member for 2 years, 5 months
seen 2 days ago

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

Mar
1
answered Using natural language grammar in fluent API
Feb
26
revised How managers choose programming languages
added 3 characters in body
Feb
26
revised How are line/column position data dealt with in parser combinator libraries?
added 50 characters in body
Feb
26
revised How are line/column position data dealt with in parser combinator libraries?
clarification
Feb
26
comment How are line/column position data dealt with in parser combinator libraries?
I'm actually building a parser that doesn't have a separate tokenization phase! :) But either way, I don't understand how the location information is handled -- i.e. should the input token stream be pre-processed to add line/col to each? Or is it calculated as the parsing occurs, as a hidden state parameter (ala monad transformers)? Both seem to have drawbacks to me.
Feb
26
comment How are line/column position data dealt with in parser combinator libraries?
Hi DeadMG! Thanks for the response; however, I'm looking for information about parser combinators, and Bison seems to be something different.
Feb
25
asked How are line/column position data dealt with in parser combinator libraries?
Feb
25
awarded  Constituent
Feb
25
awarded  Custodian
Feb
22
awarded  Pundit
Feb
22
awarded  Custodian
Feb
22
comment When would using a scripting language within a larger program be useful?
And also it's so that users can add functionality themselves. You kind of implied it, but I think it's important enough to deserve to be emphasized more.
Feb
22
reviewed Approve suggested edit on When would using a scripting language within a larger program be useful?
Feb
20
revised How do I convince my boss (and other devs) to use/consider Unobtrusive JavaScript
deleted 25 characters in body
Feb
20
revised Did jQuery kill the JavaScript discussions?
deleted 10 characters in body
Feb
19
revised What hurts maintainability?
deleted 7 characters in body
Feb
18
awarded  Caucus
Feb
18
comment Is changing the type of a variable partway through a procedure in a dynamically typed language bad style?
@MarkAmery I think the key is that the variables don't conceptually refer to the same thing. The first is just some server response which may be an error, the second is some text string which may not be valid json, and the third is a data structure. There's more semantics than just a response and a type. In my experience, good variable naming is very hard but usually worthwhile. Sorry I can't be more concrete!
Feb
17
comment Is currying too complex a tool to actually use?
Have to disagree with the statement Curry is sugar, essentially, after all and the implication that currying is complex. Maybe in Javascript that's true (although I find it useful), but in Haskell, currying is actually the key to how functions work, and allows a unified model of functions that is quite simple. Now I know you asked about Javascript, but since you didn't add that tag, it seems fair to mention Haskell! :)
Feb
17
answered Is changing the type of a variable partway through a procedure in a dynamically typed language bad style?