I use Emacs' org-mode for data science and for math courses. With Babel you can evaluate code and see the results in-line, with syntax highlighting. I don't use code completion myself but I'm confident it's available. With LaTeX preview, you can see mathematical formulae pre-rendered, again in-page.
You can then export from org-mode to LaTex, defining all the relevant settings at the top of the page.
Also, I wonder if someone will hook Spec up to DevCards directly for automatic UI testing. Seems like the logical next step, instead of manually putting the generated tests into DevCards.
Laphman has reminisced in a few of his essays about growing up in his august family in San Francisco - wonderful memories, windows into bygone eras. The pleasure of reading his essays, as for the magazine itself, lies in the prose itself even more than the ideas.
No, an elephant needs a larger brain to run its larger body. Humans have enough brains to run our bodies, plus "extra" with which to think, in a manner of speaking.
Thanks for the reviews, that's quite helpful. I'm taking Andrew Ng's course again, and really enjoying it. I understood most of it the first time, but having linear algebra and calculus is a huge help this time around.
No, I (and presumably the other posters) can tell the difference - I just disagree on the morality, partly because I think the legal aspects are related to the moral aspects.
The guy purchased the right to the house once the current owner dies, but you believe it's immoral for her to continue living in it, or renting it out, or loaning it to friends, while she is alive. I think it's immoral to demand the house while she's alive, since that wasn't the deal.
Sometimes legality and morality are widely separated, but here they seem related.
First, in Reagent/FRP, I was updating a view based on the value of an atom. This meant I had different default values in different atoms. The big atom let me unify where I stored values, and reuse values, without a performance hit. Second, the big atom made storing application state trivial: you can just throw the map/record in Redis or something.
However, the big atom is just a big map, and keys can be paired with any value, so it is not enforcing types. From a Haskell perspective (where I understand the program almost falls out of the types you define!), this probably does increase the scope for error.
This can be mitigated with Schema (which I never used effectively), logging changes to the console, and being able to see your default map easily (like, there's a map in one file which I load upfront, so I can see what values are there).
I'd welcome hearing from anyone with a more advanced or precise use of re-frame state.
"if it compiles, then it just seems to work"
Man, now that is tempting.
Also, how easy are the ports? In ClojureScript you can use JavaScript pretty directly, but I often got a bit hung up translating the syntax (it's not that hard, it was just me).
Yeah, after the app grew a bit, I had state scattered here and there. re-frame solves this with a big atom, and avoids expensive rendering every time the big atom updates with subscriptions. Subscriptions hold reactions, which only update if the underlying value changes.
Not to get off-topic though! I am used to working with dynamic languages, but I really should work with a typed language. Elm looks like it offers many of the benefits of ClojureScript, but with typing as well.
Also, ClojureScript lets you write HTML and CSS in your code, but a quick web search indicates Elm may have gone further with incorporating CSS (?).
In ClojureScript, we have the re-frame pattern/framework, which is built on Reagent, which is a ClojureScript wrapper of React.
re-frame is all about subscriptions, using a "big atom" to hold application state client-side. Seeing Elm implement the same subscription pattern makes it look pretty tempting.
My understanding is that ClojureScript and Elm have some similarities - functional, pleasant to work with - with one significant difference being that Elm is typed.
I think that's true. Most biotech companies are filled with PhDs. The cloud lab Transcriptic is an exception, started by a biomedical engineer in undergrad, but generally speaking it seems you need a PhD for credibility (not to discount the deep domain expertise one needs as well).
FourSigma and IndianAstronaut, what do you think about doing bioinformatics as research, formulating and testing hypotheses, and then either using a cloud lab or a garage lab for at least some wetlab testing?
I've been researching intensively whether to go get a life sciences PhD, and I'm now leaning instead toward just learning bioinformatics and ML, with the wetlab stuff as an adjunct. If that's an effective way to do "real research", then it might be more accessible.
I posted above why I like Org-Mode. Here are a few things it doesn't do well.
1. Because it is text-based, its visual summaries are limited. Like, there's a calendar, and for org-habits a simple color-coded chart to show consistency, but that's about it. If you're looking a week or a month ahead to visually see how many tasks you have coming up, the org-agenda is text-based.
2. While org-mode can sync with Trello, Beeminder, and a couple other task-management systems, its integrations are pretty limited. If you want to integrate with Contacts or whatever you'll have to work a bit.
3. org-mode's part of Emacs, so you'll need to be comfortable with Emacs.
Contrast this with Sunrise Calendar. Sunrise Calendar grabs gmail messages and appointments, iCal, google calendar, and displays them all nicely.
Pluses and minuses, depends on your needs and what you like.
You can then export from org-mode to LaTex, defining all the relevant settings at the top of the page.