Hacker Newsnew | past | comments | ask | show | jobs | submit | ecyrb's commentslogin

The Beowülf song "today is a gift" sampled the "noodles" exchange, which prompted me to watch the KFP movies.


I found "Style: Toward Clarity and Grace" [1] by Joseph M. Williams to be more informative than both of these recommendations, but YMMV. There is a newer version, but I haven't read it.

[1]: https://smile.amazon.com/Style-Clarity-Chicago-Writing-Publi...


Thanks for the suggestion (and for using AmazonSmile!)


Kibana / ElasticSearch? It's limited, but pretty and interactive, and gets you a bunch with very limited up-front work. I'm sure you can find some better demos, but here's one: http://parlement.letemps.ch/

HUE is a similar but different alternative. The "search" tab has some great demos, but appears to be down atm: http://demo.gethue.com/


Using Coq to verify PDF files (video):

http://www.youtube.com/watch?v=CmPw7eo3nQI

The core of the xmonad window manager was verified with Coq (PDF):

http://www.staff.science.uu.nl/~swier004/Publications/Xmonad...


One of the hints for assignment 2 is:

"Most of the solutions for this assignment can be written as one-liners. If you have more, you probably need to rethink your solution. In other words, this assignment needs more thinking (whiteboard, pen and paper) than coding ;-)."

Is it not entirely possible that they're getting some false positives?


Very unlikely, similar code? yes, exact duplicate? there are so many ways to solve it, that statistically it's not that likely, and if so, it will be on 1 answer, not all of them.


If you have, for example

    class Rational(x: Int, y: Int) {
      def numer = x
      def denom = Y
    }
and then homework is to implement

    def less(that: Rational) = ???
then you're gonna get 15 000 people answering with

    def less(that: Rational) = numer * that.denom < that.numer * denom
and another 15 000 with

    def less(that: Rational) =
      numer * that.denom < that.numer * denom
and maybe a couple thousand with something like

    def less(that: Rational) = numer*that.denom < that.numer*denom
(This example was taken from Scala course lectures, but some of the homework problems are as short as this.)


yes, but none of them are that trivial... and if they were, then cheating wouldn't make much sense. e.g. the coin change algorithm, I'm sure the distribution of answers was quite unique for anyone who tried solving it alone. same for even simple things like the pascal triangle.

But it's a moot argument as we need to do a real research (or ask coursera / Martin Odersky for the data, which I'm sure HN community will be happy to run some data mining on)


Actually I think some (many?) of the answers to the functional sets homework are that trivial in the sense that they're as short (or shorter) the the examples in the parent post. The only longer function was, I think, the one for which they provided a template implementation. So I think even that one would generate false positives somewhat easily.


The solution for the count change is already in the recommended literature (SICP). And this was mentioned in the forums.


> But it is so painful to try to switch. It's a heavy cognitive load to do even simple things like navigation.

You might be interested in viper mode [1], or another one of the VI emulation modes for emacs.

[1] http://www.emacswiki.org/emacs/ViperMode


Yes, I have tried viper mode, and it's a good effort. But it can only handle the basics, or at least when I tried it was just the basics. I have a ton of vim scripts customizing vim, adding features, etc., that just don't work with viper mode.

Part of me thinks that if I go over to emacs, I ought to go with the 'native' experience of it.

I appreciate the reply; and others may find Viper mode very useful.


vimpulse is an extension to viper and gives you (for example) visual mode (copy blocks using 'v').

http://www.emacswiki.org/emacs/Vimpulse



Congrats on making it through both. I haven't gotten to the dragon yet... For those interested, you can get a red dragon for significantly less than the newer editions (check amazon).


You can also get better compiler texts, these days. I recommend starting with Niklaus Wirth's _Compiler Construction_ (http://www.inf.ethz.ch/personal/wirth/books/CompilerConstruc...), then Andrew Appel's _Modern Compiler Implementation in ML_.

I have a comment linking together several threads of compiler-related advice on HN here: http://news.ycombinator.com/item?id=1922002.


I had a hard time with Appel's _Modern Compiler Implementation in ML_ when I did the compiler course (7 years ago...) for my CS major. I much preferred _Modern Compiler Design_ by Dick Grune et al. (http://www.dickgrune.com/Books/MCD_1st_Edition/). A second edition seems to be in the pipeline (http://www.dickgrune.com/Books/MCD_2nd_Edition/).


I'm not familiar with that one, but the table of contents looks promising. If it's even half as good as his _Parsing Techniques: A Practical Guide_, it's worth checking out.


I never understood what people like about the Dragon book. It talks you through implementing a compiler for an imperative language in an imperative language in a very pedestrian way. Give me more theory!



Somewhat related, Don's site: http://donsbot.wordpress.com/


Or you could use the Viper and Vimpulse packages to enable Vi style emulation in Emacs.


Would I notice any differences? Does it still feel like vim?


I tried this for a while and there were little things that drove me crazy. I can't remember the exact issues I had, but I'm sure other long time Vimmers would have some problems. I just found myself having to look up "why is this command xyz not doing what I expect in Viper mode" all the time. YMMV


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: