475 karma · joined November 21, 2012
<goes back to reading a book in pyjamas, today is not a very good day. />
So a common problem with concurrency tends to be not "How do I make these functions run in parallel", but "Is there an algorithm that does the same thing I want without relying on constant function composition?"
> Yes, that is intellectually dishonest, which is a huge problem. Scientists have two options: (1) accept parapsychology as real, or (2) accept that the "scientific method" (in social "sciences", at least) is insufficient.
I don't get why the whole thing is such a huge problem. The entire problem rests on needing parapsychology effects to not be real. If that need did not exist, we could just go "Okay, interesting, seems likely that there's something to it then. Let's do more research!" because, you know, we take that approach everywhere else. So my question remains: what is it about parapsychology that makes option two even valid to consider? All I can see is people just not liking that that may be how things work.
1. I'm unfamiliar with the term 'unpacking'. Is it any different from pattern matching in, say, Haskell (but perhaps not as feature-rich)?
2. Aren't slices pretty much a staple in Python? I didn't think using them was considered a 'trick'.
But, if you're already a very experienced programmer, you can probably learn how to write practical programs in Haskell by just reading the IO chapter (http://book.realworldhaskell.org/read/io.html) and the Systems Programming chapter (http://book.realworldhaskell.org/read/systems-programming-in...) from RWH. These will help you understand how IO actually works in Haskell. The rest is just libraries and learning the language itself.
On a related note: I've found that starting with the main IO function is a good way to start writing any large program in Haskell. Most people I know who complain about Haskell being a mess in impure environments tend to write pure functions first, then build their IO functions on top of that, instead of the other way around. I'm not sure whether this applies for everyone, and of course this approach works well in domains that have little to do with IO (e.g. mathematical programming), but it's something to keep in mind.
EDIT: ...Did I just accidentally paraphrase what ESR used to say about Lisp?
"All those portability claims and that there somehow good: you're just doing things for lowest common denominator. Requiring a huge amount of effort to change or develop low level bits across BSD and Linux."
I don't even know what you're trying to say here.
Like babies? (Well, most of the time.)
A recent poll I posted on HN suggests that I'm in the minority on this one, but I actually don't remap caps lock myself. And I like to think I'm a pretty capable writer, touch typing with a decent WPM.
Consider the following bit of assembly:
.set MBOOT_PAGE_ALIGN, 1<<0
.set MBOOT_MEM_INFO, 1<<1
.set MBOOT_HEADER_MAGIC, 0x1BADB002
.set MBOOT_HEADER_FLAGS, MBOOT_PAGE_ALIGN | MBOOT_MEM_INFO
.set MBOOT_CHECKSUM, -(MBOOT_HEADER_MAGIC + MBOOT_HEADER_FLAGS)
(These are multiboot header definitions used by a kernel to get GRUB to load it, for the curious.)I'm sure there are plenty of programmers who just use the shift key if they were to write code similar to the above, but I simply prefer the caps lock key myself. Habit, perhaps.
While I know the definitions of each term, I'm unclear on what exactly 'Pre Calculus' would be in this case. Also, is Trigonometry higher than Algebra or Algebra 2, if that question even makes much sense? Finally, what are the differences between Algebra and Algebra 2, and Geometry and Geometry 2?