The Ursula Herrmann kidnapping mystery - <AUTHOR> https://www.theguardian.com/news/2019/sep/24/ursula-herrmann-germany-kidnapping-mystery <comment><USER2> Recognizing that I don't have much knowledge about this case—I only know what I read in the linked article—it certainly doesn't seem as though that man should have been convicted. All the evidence is circumstantial, and there really isn't all that much of it.

And, using the sound of a tape recorder to identify the guy? Really? That doesn't even pass the smell test for me.

I'm not 100% convinced he's not the culprit, but the case described in the article doesn't come close to "beyond a reasonable doubt", for me.

</comment><comment><USER3> I don't understand the part of the story where the search strategy suddenly switches to meticulously probing the soil throughout the forrest? How did the police come to the conclusion she was burried underground? How did they know to search for a hard box at a known shallow depth?

EDIT: apparently the brother made a website:

[https://www.ursulaherrmann.org](https://www.ursulaherrmann.org)

<comment><AUTHOR> > How did they know to search for a hard box at a known shallow depth?

They didn't. They would have been searching for a shallow grave.

Thanks for linking the brother's website. I found his letter interesting, particularly this part towards the end:

> For me, there is increasing evidence suggesting the involvement of a group > of people who have insofar only been rudimentarily looked at. A fresh look > at the evidence and new methodology yielded very well founded suspicions > against known individuals.

</comment></comment><comment><USER4> What a terrible story and a fantastic telling of it.</comment>


Practical Common Lisp (2005) - <AUTHOR> http://www.gigamonkeys.com/book/ <comment><USER4> The Lisp world is really lucky that Peter came along and wrote this book. It was amazing to watch him tease out, soak up, and internalize Lisp culture from all the available sources and then write such a canonical book to share it all with the rest of us.

I wish that he would write some more books :).

<comment><USER5> I plan to. Some day.

<comment><USER6> Dear God man, please do! I'm into the start of chapter 3 and have suddenly discovered that in fact lisp is not obscure or hard or _anything_ like I was told years ago in high school.

I mean, my introduction to lisp was something to do with concat but it was so divorced from reality that I literally found an early book on C programming and semi-self taught myself it, then found a book called C Pointers and Dynamic Memory Management that literally changed my life.

I have a feeling if I'd read this book I'd have actually done something awesome by now. Frankly, this book might allow me to do something that I've been itching to do for months now.

I can't really express my appreciation enough... but I'll try right now: thank you! A million times over, thank you!

Edit: so Arc - is that like a Webserver based on lisp?

<comment><USER7> Arc was Paul Graham's take on a modern Lisp. There are some cool essays on it, but I don't think the software itself ever moved much past alpha stage.

<comment><USER8> It's the language in which Hacker News is implemented and currently developed.

<comment><USER9> Doesn't HN use a proprietary fork of Arc?

I've never been entirely certain what the relationship is between YCombinator and the Arc community, if any, but one experimental and partially black-boxed forum doesn't signal a mature language, just one adequate to a particular task.

What _else_ have people done in Arc?

<comment><USER10> Arc has served as material for a lot of speculative blogposts and helped create buzz for the lisp community.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> If anyone is using windows and wants to go through PCL, I believe the lisp box linked to is way out of date. I've generated a portable zips that are more up to date:

[https://github.com/jasom/lispstick- automate/releases/downloa...](https://github.com/jasom/lispstick- automate/releases/download/0.1/lispstick-sbcl-1.3.9-emacs-24.5.7z)

[https://github.com/jasom/lispstick- automate/releases/downloa...](https://github.com/jasom/lispstick- automate/releases/download/0.1/lispstick-sbcl-1.3.9-emacs-24.5.zip)

</comment><comment><USER12> I'm sorry but I never liked PCL that much.

It certainly shows some impressive Lisp techniques, and surely it will impress anyone who reads it about Lisp capabilities. The PCL made me feel awe about what Lisp can do. But not about what I could do with Lisp myself.

PCL doesn't really help the reader to really understand how all that code works to the point where the reader could write it without the writer's help.

I found this book: Lisp, An Interactive Approach [https://www.cse.buffalo.edu/~shapiro/Commonlisp/](https://www.cse.buffalo.edu/~shapiro/Commonlisp/) a better pedagogical tool to learn Lisp, and it guides the reader all the way, tests him, and makes him write all the needed code before going to the next chapter. It's not a showcase like the PCL book, but it imparts the reader with the ability to write a similar showcase himself.

The 'An Interactive Approach' book made me grok the power of Lisp in a way no other book could. It made me feel powerful and confident about what I could do with Lisp.

</comment><comment><USER13> Practical Common Lisp is intro + recipes.

I think Paul Grahams ANSI Common Lisp is the best if you are learning Common Lisp and Lisp. The language reference in the end is the extremely handy compact reference for CL. [http://www.paulgraham.com/acl.html](http://www.paulgraham.com/acl.html)

Common Lisp Recipes is better as a pure recipe book. [http://weitz.de/cl- recipes/](http://weitz.de/cl-recipes/)

<comment><USER14> > I think Paul Grahams ANSI Common Lisp is the best if you are learning Common > Lisp and Lisp.

I disagree, and here's why:

Practical Common Lisp is the _SINGLE_ Lisp reference I have ever found that talks about how to use real data structures instead of stupid cons pairs.

That's really, really huge. And it's probably why so many people actively dislike Lisp. And it's probably why Clojure achieved such popularity.

<comment><USER13> >SINGLE Lisp reference I have ever found

Then you haven't read many Lisp books, including Common Lisp Recipes and ANSI Common Lisp. There are so many of good ones.

<comment><USER14> This is my pet peeve you are arguing into. Beware. :)

Here's my point: People can build amazing programs with just Vectors or Hashes. People can build amazing programs without understanding recursion, evaluation, macros, or metalinguistic abstraction. And, in fact, before memory became cheap (roughly 1995) recursion was a _negative_ , not a positive.

So, guess which things Lisp taught and which it didn't? Yeah, they got it precisely _BACKWARDS_ and then wondered why Lisp wasn't more popular.

Go back, and look at Lisp books prior to the web--call it 1995-1996.

I 1987, I had a version of Touretzky's "Common LISP: A Gentle Introduction to Symbolic Computation". I do not remember any discussion of Hashes, Vectors, etc., but I see that even the 1990 version confines them to the next to the last chapter and the discussion qualifies as cursory, at best.

SICP doesn't even mention it. Nor does Little Schemer (nee Little Lisper).

"On Lisp" (1993) just drops hashes and vectors in your lap as it expects you to already know about them. "ANSI Common Lisp" by Graham doesn't appear until 1995.

CLtL and R4RS are references. You sure aren't going to learn Lisp/Scheme from those.

Sure, once Perl taught the universe how useful hash tables were, everybody started going "Hey, we have those too...", but prior to that is a big hole.

<comment><USER15> >People can build amazing programs with just Vectors or Hashes. People can build amazing programs without understanding recursion, evaluation, macros, or metalinguistic abstraction.

That's what Common Lisp provided back in 1984. Basic data structures like strings, characters, vectors, various numbers, I/O streams, records and hashes. It offer a lot of Lisp-stuff additionally, but it had everything to write plain programs.

> recursion was a negative, not a positive

That's why real-world Common Lisp usually avoided recursion early on and Common Lisp has lots of non-recursive iteration facilities. Scheme made some forms of recursion 'cheap' by introducing tail call optimisation (TCO) - <USER2> often is provided by Common Lisp implementations, too. But TCO was not standardised because it was difficult to integrate it with the rest of the language back then.

> I do not remember any discussion of Hashes, Vectors, etc.,

There were some books with more interesting examples, like the then popular LISP from Winston/Horn, where the 3rd edition from 1989 was fully moved to Common Lisp.

For key-value data structures Lisp traditionally used property lists, association lists and forms of search trees. Later some forms of object systems, which also map keys to values - like Frame systems. Larger Lisp systems used hash arrays (Interlisp) or hash tables (Common Lisp). Hash-tables were indeed not that often topic in the literature.

> CLtL and R4RS are references

The CLtL1 was quite good for learning Common Lisp. It's an nicely readable book and not the dense R4RS. CLtL2 made thinks difficult, because it was presenting the then defined ANSI CL (before it was actually finished) and all the deltas to the older CLtL1.

</comment></comment></comment></comment></comment><comment><USER16> Over 10 years old, but still the best modern Common Lisp book. It helps, that it has been written by someone who had a lot of experience with other languages (Java), so less captured in a Lisp ivory tower, showing a truly practical approach.

Highly recommended!

<comment><USER15> There is one important thing not covered in the book: [https://www.quicklisp.org/](https://www.quicklisp.org/)

Quicklisp was first published in 2010 and is a library manager for Common Lisp.

<comment><USER17> Quicklisp is not panacea, even though it simplifies matters to a substantial degree for people new to Common Lisp.

On the other hand Quicklisp has serious issues:

\+ Minimal if any documentation of internals.

\+ A substantial chunk of the codebase can only be described as spaghetti code. To make matters even worse, most functions lack documentation strings. A sad state of affairs given the interactive and self-documenting nature of CL.

\+ Is vulnerable to man-in-the-middle attacks since it verifies neither certificates nor checksums. This means that using Quicklisp can get you owned. Unacceptable these days.

\+ Operates over a 'curated repository' model that Xach is managing. The repository has been found to be vulnerable to man-in-the-middle attacks in the past since packages were fetched over plain HTTP or git://. Even if that wasn't the case, it's yet another element in the chain of things to trust.

\+ Few if any people besides Xach are working on quicklisp-client to mitigate these issues. Lack of documentation and spaghetti code is not helping to attract new talent.

\+ Xach is employed by Clozure Associates. I understand that they've allotted him some time to work on Quicklisp while on the job, but it's still a side- project. Look at the number of open issues at Github. Many have been there for years.

For these reasons, I don't use Quicklisp myself. I also advocate against it to friends and colleagues who share my views on software distribution mechanisms.

<comment><USER18> I hope to improve the documentation and security of Quicklisp in the next few months. It will depend on funding.

The core of Quicklisp is in dist.lisp. Understanding the protocol of the generic functions at the start of that file will help clarify Quicklisp as a whole. Almost everything else Quicklisp does is in support of that protocol.

<comment><USER17> That's great to hear. On your donations page you have indicated that there will be a special fundraiser. If that's not the case still, I suggest you remove it as people could be waiting for it and not donating.

</comment></comment></comment></comment></comment><comment><USER19> A wonderful book, well worth studying. If only in order to gain a wider perspective on programming languages, and perhaps forget, at least for a while, about the language wars and the ongoing "C bashing."

It may be not obvious to those who may only have had a limited experience with it, Common Lisp, in itself, is an extremely expressive and powerful programming language. Also, there are compilers, such as SBCL, that generate a very efficient machine code; others, such as ECL ("embeddable Common Lisp"), make it very easy to combine lisp code with code written in C, thereby providing the ability to seamlessly integrate high-level and easy-to-use constructs with low-level, performance-critical pieces of code.

<comment><USER20> Indeed. As much as I dislike CL's quirky inelegance (I prefer the scheme side of the Lisp family tree), it's a tremendously powerful and effective language, and one of the best choices for Getting Stuff Done Right Now using Lisp. In fact, probably _the_ best choice.

<comment><USER19> > _quirky inelegance_

On the other hand, quoting Einstein's quote found in the famous book by Sussman and Wisdom who use Scheme to teach Classical Mechanics, "I adhered scrupulously to the precept of that brilliant theoretical physicist L. Boltzmann, according to whom matters of elegance ought be left to the tailor and to the cobbler."

<comment><USER21> Tailors and cobblers do practical tasks day in and day out; whereas physicists stretch their imagination to dream of the yet-known.

Somehow I think the analogy falls apart on close consideration. ;)

<comment><USER22> All analogies fall apart on close consideration.

In this case, though, I think it still works. It says nothing of the work they do, but more to the goal of their work. Tailors/coblers (fashion, in general) are tasked with making elegant attire. It is true that some are tasked with making practical attire.

Physicists, however, are never tasked with making elegant physics. It is rewarded. But it is not directly their task.

<comment><USER23> I always enjoyed this take on analogies, and their consistent property of falling apart upon close consideration.

> An analogy is like a finger pointing at the moon, pay too much attention to > the finger and you miss out on all the heavenly glory.

</comment></comment></comment></comment></comment></comment><comment><USER24> The biggest problem in spreading lisp nowadays is the fragmentation of the documentation.

"Lisp" means so little when you're writing real code.

Each implementation has its own quirks and even venerable books fall when confronted with real world code at learning.

For example: I was reading the SICP and using racket that looks like an interesting runtime nowadays. Turns out that a while a go the dev team made cons immutable and that's okay I guess but it broke (at least for me) the experience of reading SICP because I now have to pause and learn this quirk of this specific lisp implementation.

And don't even get me started on common lisp. There are at least 5 or 6 major common lisp runtimes, each of them incompatible somehow (try and read some of the StumpWM "makefiles" and you'll have a taste of what I'm talking about).

Also, common things (threads, for example) are still not provided in a uniform way across all of the implementations, and are often more or less quick hacks.

Scheme? Cool! Srfi! What part of scheme does your scheme actually implements? Would you use a C compiler without structures? And write code so that it can be compiled with another C compiler that has structures but doesn't have foot loops (only while loops are provided).

Lisps are awesome languages, but for me, no wonder they remain niche languages.

And before you downvote, please keep in mind that I am now booing Lisp, I would just love it to be more "sane" minded and less schizophrenic as a language/runtime, and more real-world-usable.

<comment><USER15> For portable thread APIs in Common Lisp see:

[https://github.com/sionescu/bordeaux- threads](https://github.com/sionescu/bordeaux-threads)

and

[https://github.com/binghe/portable- threads](https://github.com/binghe/portable-threads)

<comment><USER24> Follow the first link in the github description of Bordeaux-threads and you reach a 404 error.

I guess this pretty much sums up the state of many common lisp libraries.

Also, if it is so portable and so useful, why hasn't it made part of the language and of the various implementations?

Why there are no updates to the standard?

<comment><USER15> The page is here. Send the author a bug report...

[https://common-lisp.net/project/bordeaux-threads/](https://common- lisp.net/project/bordeaux-threads/)

> Also, if it is so portable and so useful, why hasn't it made part of the > language and of the various implementations?

You make it a part of the language by loading it in.

        CL-USER 23 > (ql:quickload "bordeaux-threads")
        To load "bordeaux-threads":
          Load 1 ASDF system:
            bordeaux-threads
        ; Loading "bordeaux-threads"
        [package bordeaux-threads]...
        ("bordeaux-threads")

> Why there are no updates to the standard?

Because it is too expensive (it's an ANSI Standard, which makes things difficult), there are no sponsors for it and not enough are interested to do the work.

The language evolves in libraries, portable substrates and implementations since some time.

Note that the language has a lot of flexibility for change built in: reader macros for the s-expression syntax, macros for the Lisp syntax, meta-object protocol for the object-system, packages enable new Lisp dialects, ...

</comment></comment></comment></comment><comment><USER25> I started working on this a while back:

[https://github.com/rongarret/BWFP](https://github.com/rongarret/BWFP)

Currently very low on my priority list but it would not take a lot of encouragement for me to pick it back up again.

<comment><USER26> In chapter 1 you mention that Petzold's book is underrated. If that's any consolation, I have bought the book when it came out and have talked about it to many of my friends since. I wouldn't say it's under _rated_ , but just not well known. Great book!

<comment><USER25> Maybe I'll change that to "under-appreciated"

<comment><USER26> I forgot to say that I'm reading your text now :) I had a compiler class with Marc Feeley, author of Gambit-C, and I've been sold on Lisps ever since. I really love the simplicity of Scheme, but I found that it's much easier to get going (i.e. not having to re-write even basic things such as for-loops) in CL than Scheme. I can write/read some basic macros but my end goal is being able to write a read-macro for a DSL. I can't really envision doing this as easily without a Lisp.

</comment></comment></comment></comment><comment><USER27> Practical Common Lisp, along with pg's essays on Lisp, can be credited with inspiring the Lisp renaissance of the mid-2000s. It's an incredibly good book, showing Lisp (unlike Scheme) is a practical programming language, with the ability to go from low-level bit-twiddling all the way up to very high levels of abstraction.

Reading it was eye-opening. I had no idea up until that point that Lisp is a real, industrial-grade language (as opposed to a very interesting didactic tool).

Even if you don't have an intention of programming in Lisp, you should read PCL for an idea of how much better the language you're programming in _could_ be. Hopefully, it'll inspire you to write some Lisp, but even if it doesn't you'll be a better programmer for it. You'll be able to understand why static languages like Java have such arcane ecosystems; you'll be able to see how very little new there is under the sun.

</comment><comment><USER28> I've been working in JS full time for a couple of months now, except for a short break to build a JSX parser for Emacs. Switching to lisp was such a breath of fresh air. The code was denser, and every line took longer to write, so not sure about overall productivity, but man was it more enjoyable to write!

I wish there were an update to this book. I seriously looked into giving up on JS and using Parenscript and Wookie or Hunchentoont but it seemed like I'd be taking on a lot of yak hair. Does anyone here use any lisp for Web Development? What's the modern lisp (CL or otherwise) stack?

<comment><USER29> > Does anyone here use any lisp for Web Development?

I do.

> What's the modern lisp (CL or otherwise) stack?

There is no fixed stack, though people want to make you believe there is.

I use cl-who for html generation, my own lib for css generation (basically sass with lisp syntax), a bastard of cl-json for json generation and a heavily patched hunchentoot as a web server and in very rare cases parenscript - <USER3> only to generate js class definitions from cl classes since transpilation of business logic usually places too many constraints on what you can implement how on the lisp side. For database access I mostly use cl-postgres but fall back to cl-sql if the client insists on another DB than pg.

<comment><USER11> I also use lisp for web development, and want to second this:

> There is no fixed stack, though people want to make you believe there is.

My stack:

I use parenscript[5] fairly heavily (to the point where I'm now a contributor). Note that parenscript is mostly javascript semantics with lisp syntax, _but_ macros for it are written in common-lisp, which makes a lot of the javascript annoyances go away.

Like jlg23, I use cl-who for html generation.

I spent a while experimenting with css generation, but now just use something prepackaged (currently Pure[1]). If I had need for a custom look, I would pay someone who knows graphic design to generate a layout, and I'd code to that.

I've rotated between several JSON libraries to the point that I couldn't say which one I used for my last project; for JSON I'm very opinionated on the proper mapping from JS types to lisp, and none of the libraries do the Right Thing out of the box, so I wrap them with something that will.

As users expect something less like "fill out a form and hit submit" and more like "Instantly responsive web application that saves my work as I go" I started experimenting with using parenscript with various JS application libraries. I found React to be okay[2], but much prefer the simplicity of Mithril[3].

For webserver, I use clack[4] which is in roughly the same space as WSGI is for python or Ring is for clojure. It is sadly severely lacking in documentation (at least in English). A clack tutorial is on my "todo" list.

I happen to run clack behind mongrel2, but that's because it's the server I'm most familiar with; it has backends for FastCGI and several native lisp web servers, and adding new backends is very easy (the mongrel2 backend is under 200 lines of code).

For a database I use postmodern[6] (a library for pgsql) and I use cl-redis[7] for quick & dirty projects, as a key/value store tends to make for more rapid prototyping.

1: [http://purecss.io/](http://purecss.io/)

2: [https://github.com/jasom/parenscriptx](https://github.com/jasom/parenscriptx)

3: [https://github.com/jasom/parenscriptm](https://github.com/jasom/parenscriptm)

4: [https://github.com/fukamachi/clack](https://github.com/fukamachi/clack)

5: [https://common-lisp.net/project/parenscript/](https://common- lisp.net/project/parenscript/)

6: [http://marijnhaverbeke.nl/postmodern/](http://marijnhaverbeke.nl/postmodern/)

7: [https://github.com/vseloved/cl-redis](https://github.com/vseloved/cl- redis)

<comment><USER28> Thanks! Lots of great reading here. The React piece looks interesting, but would definitely like to hear more about Clack. My biggest hangup is around infrastructure. I wouldn't mind terribly re-inventing the wheel a bit in terms of client-side and business logic (if I can use lisp), but dealing with a FastCGI deploy makes me cringe a bit. Maybe it's just bad memories from a site I took over that was on shared hosting.

<comment><USER11> You can always use one of the lisp http servers, though I believe most people put those behind a reverse proxy when doing so.

</comment></comment></comment></comment></comment><comment><USER20> PCL is still one of the best books for learning Lisp. Although I actually got my start with Conrad Barski's The Land of Lisp, which is also excellent.

</comment><comment><USER6> Is it just me, or is there a typo in the following?

      CL-USER> (remove-if-not
        #'(lambda (cd) (equal (getf cd :artist) "Dixie Chicks")) *db*)
      ((:TITLE "Home" :ARTIST "Dixie Chicks" :RATING 9 :RIPPED T)
       (:TITLE "Fly" :ARTIST "Dixie Chicks" :RATING 8 :RIPPED T))

It seems to be missing a single quote... shouldn't it be:

      CL-USER> (remove-if-not
        #'(lambda (cd) (equal (getf cd :artist) "Dixie Chicks"))' *db*)
      ((:TITLE "Home" :ARTIST "Dixie Chicks" :RATING 9 :RIPPED T)
       (:TITLE "Fly" :ARTIST "Dixie Chicks" :RATING 8 :RIPPED T))

If this is a typo, it merely shows how incredibly well written this is, because I have literally never read lisp code in any seriousness in my life!

<comment><USER30> In your example, the LAMBDA form is preceded by a sharpquote. So #'FORM is syntactic sugar for (FUNCTION FORM). This is a way to reference a value in the function namespace instead of the variable namespace (Common Lisp is a "Lisp-2"... actually more than that, but that's the common terminology.) Usually this sharpquote would precede names of functions when they are passed as a value. (Interestingly, they are optional on the LAMBDA form.)

Generally, preceding single quotes in Common Lisp e.g. 'FORM are syntactic sugar for (QUOTE FORM) which has the meaning of reading in the form without evaluating it. You'll see lots of single quotes used for that purpose as well.

<comment><USER6> Oh, I see. In that case, I was a little confused by the following:

      CL-USER> (remove-if-not #'evenp '(1 2 3 4 5 6 7 8 9 10))
      (2 4 6 8 10)

The author explained what #'evenp did (FUNCTION '(1 2 3 4 5 6 7 8 9 10)) but not that '(1 2 3 4 5 6 7 8 9 10) is just (1 2 3 4 5 6 7 8 9 10).

In other words, the above evaluates to:

      (FUNCTION evenp (1 2 3 4 5 6 7 8 9 10))

Or didn't explain it unless, of course, I missed a bit :-)

<comment><USER31> You can see how an expression is read this way:

        (defun how-is-it-read? (string)
          (write-to-string (read-from-string string)
                           :pretty nil))
        ==> HOW-IS-IT-READ?

        (how-is-it-read? "#'foo")
        ==> "(FUNCTION FOO)"

        (how-is-it-read? "(remove-if-not #'evenp '(1 2 3 4 5 6 7 8 9 10))")
        ==> "(REMOVE-IF-NOT (FUNCTION EVENP) (QUOTE (1 2 3 4 5 6 7 8 9 10)))"

You can see that this does not match your expectation. Are you actually trying to type that code and evaluate it at a Lisp listener? If not, you should.

Now, FUNCTION is a special operator that in this case returns the function named EVENP.

QUOTE is a special operator that just returns the object it is passed.

So REMOVE-IF-NOT will get called with two arguments: the function named EVENP, and a list of integers from 1 to 10.

</comment></comment></comment></comment><comment><USER32> What is the current state of affairs with regard to Common Lisp on Windows?

I remember that when I was last trying to explore it, that was the single biggest hurdle - all the recommended freely available "industrial strength" implementations (SBCL, CMUCL) were either unavailable on Windows outright, or considered experimental and highly unstable there. The stuff that was available was either proprietary (and costly), or its performance was not deemed sufficient for production use (e.g. CLisp).

But that was several years ago. Did anything change?

<comment><USER33> I use CCL on Windows, and at times SBCL. SBCL does have a large warning about lack of maintenance and potential instability or something like that, but I haven't used it heavily enough to expose such behavior.

CCL has no interpreter, so any code you write gets compiled to native code. People worry too much about performance too prematurely in my opinion.

I hate windows in general and try to avoid using it and targeting it whenever I can, but for the past year I did use windows+ccl+emacs to successfully get work done, which I was able to easily transition back over to macos+ccl+emacs just recently.

I would say that at the very least, the hurdles you ran into in the past are gone. Binaries for sbcl on windows are supplied, and I'm pretty sure that threading is enabled in recent builds so no need to recompile yourself (I remember wasting so much time on this a few years ago and moved to ccl).

I recently ran into a workflow that ccl easily accommodated that sbcl didn't, which was specifically such that when you ran out of heap, ccl automatically allocated more, whereas with sbcl it seems to be fixed upon startup and requires more than a command line flag to fix (I couldn't figure it out in the hour or so I spent working on it)

<comment><USER32> Clozure looks very interesting, thank you! Got it up and running in a few minutes, and the docs look promising. I think it wasn't around last time I tried to seriously explore CL. Good to see more options!

</comment></comment></comment><comment> gaurav-gupta This is an awesome book. I read it online back in 2006 (one of the few books I followed from start to end). Even though I mostly programmed in other languages, the approach and techniques in this book enormously improved me as a programmer.

Thank you for writing this book and sharing it with the world!

</comment><comment><USER34> If I may suggest, please add 'next' and 'previous' links within the chapters of the online book. It's a little annoying to have to navigate back and then click on the next chapter to read on.

</comment><comment><USER35> This book looks good from a cursory glance. Can anyone please tell me if I should read this one or Paul Graham's ANSI common lisp. I have some background in scheme due to SICP.

Thanks!

<comment><USER36> Definitely this book. I would recommend keeping Graham's books for later.

Practical Common Lisp + Land of Lisp + Common Lisp recipes + the Lisp Hyperspec = Profit!

Additional readings: Successful Lisp (Lamkins - very underrated), Paul Graham's books, and Hoyte's Let Over Lambda (advanced).

</comment></comment><comment><USER37> A great(fun!) book.

I wonder if it can take any credit for the resurgence of lisps! (especially Clojure)

It certainly was an influence on the student writen 'Realm of Racket'.

</comment><comment><USER38> Tried to use this to learn Lisp (previous experience: one semester of Racket). Couldn't really motivate to keep going. Might just be me, though.

<comment><AUTHOR> I'm currently going through the advent of code challenges ([http://adventofcode.com](http://adventofcode.com)) with Clojure and watch a few talks ([https://www.youtube.com/user/ClojureTV](https://www.youtube.com/user/ClojureTV)) next to it.

The cool thing about the challenges is that they are language agnostic so you can try whatever you're interested in (CL, Scheme, Racket, Clojure, …). A bit like Project Euler ([https://projecteuler.net](https://projecteuler.net)) but more fun.

<comment><USER20> Hey tosh! Funny seeing you here (especially mere hours after I replied to you on Reddit)

AoC is great. I've been doing it in Scheme. Except today's challenge, which I did in AWK, because it was perfectly suited for the task (although I could have also used the AWK scheme macro). Plus, in Scheme, you don't wind up with code like this

      {if(($1+$2>$3)&&($1+$3>$2)&&($2+$3>$1)) count++;} END {print count}

Aren't one-liners fun?

</comment></comment></comment><comment><USER39> Recently bought ; Land of Lisp and it should arrive next week. Heard it's a pretty good book to do some fun with Common Liso

</comment><comment><USER40> What's the current best CL implementation on macOS/OS X? Is it still SBCL or something else?

<comment><USER41> SBCL is very good and what most of the open source community uses. Clozure CL is also very good, reasonably popular, and has good Cocoa support. LispWorks is excellent, but proprietary; the paid versions are very expensive but there is a free 'Personal' edition as well.

I would recommend SBCL unless you want to do GUI stuff.

</comment></comment><comment><USER42> Is there any material exploring the possibility of using LISP as a systems programming language?

<comment><USER43> Mostly dead projects: [http://web.archive.org/web/20000418011820/http://www.hex.net...](http://web.archive.org/web/20000418011820/http://www.hex.net/~cbbrowne/lisposes.html)

Some ideas: [https://github.com/robert- strandh/LispOS](https://github.com/robert-strandh/LispOS)

<comment><USER15> [https://github.com/froggey/Mezzano](https://github.com/froggey/Mezzano)

</comment></comment></comment><comment><USER36> It's a good book in parts, but very dry and almost reference-like in others. All in all, pretty decent.

I much preferred Land of Lisp by Barsky for the basics and Edi Wietz' Common Lisp recipes for specific use cases.</comment>


Ted Nelson's Computer Paradigm,  Expressed as One-Liners (1999) - <AUTHOR> http://xanadu.com.au/ted/TN/WRITINGS/TCOMPARADIGM/tedCompOneLiners.html

<comment><USER2> Inspirational stuff, in a parallel universe Ted Nelson has became as influential as Steve Jobs or Bill Gates.</comment>


In Search for Killer, DNA Sweep Exposes Intimate Family Secrets in Italy - <AUTHOR> http://www.nytimes.com/2014/07/27/world/europe/in-search-for-killer-dna-sweep-exposes-intimate-family-secrets-in-italy.html?partner=rss&emc=rss&smid=tw-nytimes&_r=0 <comment><USER2> It makes me wonder if in the future there might be false convictions based on DNA evidence, and not from chimeras or inaccurate testing. DNA found at a crime scene has basically come to mean that person is guilty in the public mind (thanks CSI). Even though it's unlikely, it's possible to get some DNA on someone you're near in public who then gets murdered. So you've got DNA on the person, your cell phone is in the area, and you don't have a particular alibi. In most cases that probably means that person is guilty, but I can imagine a number of cases where the person could just be in the wrong place at the wrong time.

From the article it sounds like from where the DNA was located and other corraborating evidence that this guy is guilty. But I'm glad the article ended by saying some of the geneticists weren't condemning the accused based on the DNA evidence alone. I hope that type of thinking expands into the wider public.

<comment><USER3> I wonder about this all the time.

Sometimes I comb my hair, or bite my fingernails. What if part of it fell on the floor and some random person steps on it. Stuck on the bottom of their shoe. A bunch of coincidental stuff comes up and my DNA is tested against a fingernail/hair under victim's shoe... match. I'm doomed.

Indeed, I fear the mentality that DNA-match = Guilty.

How many people have been sent to jail/put to death based on false DNA results or even accurate but not via the crime they're accused of.

<comment><USER4> > _Sometimes I comb my hair, or bite my fingernails._

You don't even need to comb your hair to leave DNA all over the place. A normal person will lose 50-100 hairs every day.[0]

Also, everyone sheds dead skill cells, and certain dermatological conditions can exacerbate matters.

[0] [http://www.aad.org/dermatology-a-to-z/diseases-and- treatment...](http://www.aad.org/dermatology-a-to-z/diseases-and-treatments/e ---h/hair-loss)

<comment><USER5> _...everyone sheds dead skill cells..._

True. If you're in an office you haven't visited before and would like to be disgusted, examine the bottoms of a few mice.

</comment></comment></comment></comment><comment><USER6>
      "The important fact is that this man's DNA is the same as
      the DNA found on Yara," he said, noting that the odds of
      anyone else sharing the same genetic profile was "one
      person out of two billion of billions of billions" or
      practically nonexistent.

This fundamental misunderstanding of statistics really doesn't increase confidence in this investigation. When you go on a fishing expedition across 22,000 suspects, the odds of getting a false positive from one cause or another is nearly one.

<comment><USER7> Is this true? It _feels_ wrong - that a false positive DNA test is not like picking the right number on a roulette table. Considering the number of bits of information that have to match to be a positive hit in DNA testing, even 22k tests shouldn't hit a false positive.

Statistics being what they are, what is the science behind false positives in DNA testing across a fairly large sample set?

<comment><USER8> Bear in mind that DNA test != full sequencing.

I'm a bit rusty on my combinatorics, but borrowing from wikipedia[1] "if n(p;d) denotes the number of random integers drawn from [1,d] to obtain a probability p that at least two numbers are the same, then:"(...)

We have stated above that n=2, p=1/2 __(10^(3 __9))=1 /(2e27), so we have:

          p ~ 1 - ( (d-1)/d )^(n(n-1)/2))
            = 1 - ( (d-1)/d )^(2(2-1)/2)) # -> 2/2 -> 1
            = 1 - ( (d-1)/d )
         p-1=-(d-1)/d
        (p-1)d=-d+1
         pd-d=1-d
           pd=1
            d=1/p
            d~2e27 #Yeah, I guess this should have been obvious, in
                        retrospect

For n=20k=2e4:

         p(n=2e4,d=2e27) ~ 1-((d-1)/d)^(n(n-1)/2)

Which is so small that in Python I had to use the Decimal module to compute p~1e-19 or so.

However, this assumes an _even distribution_ across the possibilities -- and we've approximated the number of combinations based on the statement of collision probability -- not based on actual number of base pairs, or based on some model on how these are likely to be distributed... (eg: if we test for sex, but only sample males -- does that mean we loose a certain number of possibilities? How about caucasian vs other races? It depends on what markers we are testing. Further we _know_ that some markers are likely to match, because there's bound to be some common ansecstors among some members in the sample etc.)

Note that the math above might be entirely bogus -- I'm off to bed, so I'd assume I've made some silly mistakes...

[edit: On actually reading the article, it could appear that the quote on "two billion billions of billions" are indeed meant to indicate he likelihood of someone sharing the same DNA, rather than the likelihood of two samples testing as similar.]

[1] [https://en.wikipedia.org/wiki/Birthday_problem#The_generaliz...](https://en.wikipedia.org/wiki/Birthday_problem#The_generalized_birthday_problem)

<comment><USER8> For a more _relevant_ discussion, see eg:

[http://www.councilforresponsiblegenetics.org/GeneWatch/GeneW...](http://www.councilforresponsiblegenetics.org/GeneWatch/GeneWatchPage.aspx?pageId=57)

Keep in mind that doing 20k tests, there are likely to be mistakes made. In the case of a false positive (or a disputed positive), that shouldn't be too much of a problem -- just run the test again, perhaps using multiple labs to check the results.

For a false negative match -- you've just missed/"cleared" the probable perpetrator. Such an error is unlikely to be caught (I'd imagine) -- on the other hand if the error rate is low (say 0.5%?) -- the chance that an error is made when testing that (presumably) _one_ swab that is from the suspect, is pretty low, even with 20k tests.

</comment></comment></comment></comment><comment><USER9> Those referencing _Gattaca_ (1997) here should read _The Unreconstructed M_ (1957) by Philip K. Dick:

[http://www.sffaudio.com/podcasts/TheUnreconstructedMByPhilip...](http://www.sffaudio.com/podcasts/TheUnreconstructedMByPhilipK.Dick.pdf)

</comment><comment><AUTHOR> The need for prosecutors to be literate in technical fields such as statistics, probability, and perhaps basic forensics is now necessary. Over- zealous prosecutors are some of the most dangerous individuals that seem to go unchecked.

<comment><USER10> Overzealous means - we got a guy, now we must find the crime that fits him best.

</comment></comment><comment><USER11> Why stop at a dragnet of 22,000 samples? Why not take DNA samples of every newborn?

<comment><USER12> [http://www.imdb.com/title/tt0119177/](http://www.imdb.com/title/tt0119177/)

</comment></comment><comment><USER13> There is a similar case in France (albeit at a much smaller scale), where DNA tests were run on all male pupils and staff from a school in an effort to find the perpetrator of a rape. So far they haven't found a suspect.

[http://www.theguardian.com/world/2014/apr/13/french- school-d...](http://www.theguardian.com/world/2014/apr/13/french-school-dna- testing-rapist-la-rochelle)

[http://www.theguardian.com/world/2014/may/22/french- school-r...](http://www.theguardian.com/world/2014/may/22/french-school-rape- dna-testing-la-rochelle)

</comment><comment><USER14> Would not likely happen in the US.

<comment><USER15> Sarcasm?</comment></comment>


Ask HN: What are some exploding markets that you know of? - <AUTHOR> Reading https://news.ycombinator.com/item?id=19105733 made me think that you almost always need a rapidly growing market.<p>If you've some unique insights in a market that you're willing to share with the HN community, please do it here. <comment><USER2> 1\. Cloud (cloud hosting, managed cloud services) 2\. Mental health (apps and tech to help combat mental health) 3\. Gamification of things.

<comment><AUTHOR> Cloud services are definitely growing, but where are the gaps? It's great that we're now tackling mental health issues via tech more seriously. Gamificatiom seem interesting, can you elaborate about that?

</comment></comment><comment><USER3> This website is kind of cool for trends.

[https://meetglimpse.com](https://meetglimpse.com)

<comment><AUTHOR> Are you the creator of this website? This seems almost like Google Trends, but I wasn't able to capture a lot of value for exploding markets.

<comment><USER3> No, I would have said if I was! :)

I saw it on ProductHunt: [https://www.producthunt.com/posts/glimpse-5](https://www.producthunt.com/posts/glimpse-5)

<comment><AUTHOR> Seems like much of the value is in the newsletters, rather than the website. I get it now!

</comment></comment></comment></comment><comment><USER4> Robotic Process Automation, and the headache that'll arrive with it because it's basically building technical depth directly on top of legacy systems.

In the European public and banking sectors we can't hire enough people to meet the demands for it though.

If you build something to make maintainability better, please feel free to contact me.

<comment><USER5> This one is a bit of a head scratcher and now I'm really curious. Isn't AI with deep learning a big part of this? And then, with AI like neural nets, isn't the whole point that you're building a model to discover hidden associations between data (tensors?) to make predictions, but that it's really hard to figure out how such a system arrives at a prediction? Shouldn't something like this be less than legal for a financial institution due to a lack of accountability? How do you protect against something like handing out subprime loans on questionable grounds?

</comment></comment><comment><AUTHOR> Hi, OP here. The link I mentioned in the description doesn't seem to hyperlink. So here it is again: [https://news.ycombinator.com/item?id=19105733](https://news.ycombinator.com/item?id=19105733)</comment>


Ask HN: What's the best duration for a free trial for a PaaS? - <AUTHOR>

Hi
I'm working on a PaaS project and I need to have a built-in trial. The most common trial period I've seen is 14 days. What's so magic about this number? Is it the two full weeks? But why?
Anyway, I want to squeeze the trial period a bit down and optimize for a better conversion rate. Also, a shorter trial period saves me cash hardware-wise as I'm bootstrapping this project. This PaaS requires one to change DNS. So I need to account for DNS changes ("propagation"). So if I allocate 2 full days for DNS and one weekend, all amounts to 9 days. Is 9 days too short?
Thanks! <comment><USER2> I just launched a soft beta SaaS and I am doing 90 days so I can work out all the kinks and automate the manual parts. I might consider some accounts for a longer period if they are early adopters as they provide me with great feedback.

</comment><comment><USER3> For my own projects, I prefer to use a "money back guarantee" rather than a trial period.</comment>


Kinto form builder, an open-source and self-hostable alternative to Google forms - <AUTHOR> https://github.com/kinto/formbuilder <comment><AUTHOR> Disclaimer: not my project, just wanted to share a great project I just discovered.</comment>


Median 1-Bedroom Rent in San Francisco Soars to Nearly $3,700 a Month - <AUTHOR> https://sanfrancisco.cbslocal.com/2019/03/05/median-1-bedroom-rent-sf-3690-month-zumper/ <comment><USER2> that's so high, it has been increasing here in Miami as well.

However, it is nowhere near that much. In Miami, that's about a 4-5 bedroom house.</comment>


14 Features Mac OS X Lion Stole from iPad (and counting) - <AUTHOR> http://www.paperlabs.com/2011/06/14-features-mac-os-x-lion-stole-from-ipad-and-counting/

<comment><USER2> Addendum: when using the Magic Mouse/Trackpad in Lion, if you scroll down the window content goes up. Up goes down (you don't scroll the bar, you scroll the window). Just like on iOS.

</comment><comment><USER3> "Stole", followed by "directly inspired by" :) I'm starting to suspect that OS X 10.7 and iOS might be created by the same people. Does anyone know how the "Full-screen support" is something new to OS X or how it differs on iOS? What about the App Store that we already have in 10.6, or the Multi-Touch Gestures we've had for a few years? This is one very weird article that I can't seem to squeeze any substance out of. Maybe I should just finally get an iOS device...</comment>


Quick and dirty way to have OpenBSD running on Linode - <AUTHOR> https://forum.linode.com/viewtopic.php?f=20&t=12080 <comment><USER2> This is great for sure. I just wish Linode/Digital Ocean/etc would take notice how much work people are willing to go through to use openbsd on their platforms and provide official images to make things easier. It's obviously a minority of people, but they're also loyal customers willing to go out of their way to run what they want on your platform. Seems like a great move to build community good-will.

<comment><USER3> As someone who is totally unfamiliar with OpenBSD, why _are_ people going to all this trouble? Does it offer something different to the plethora of linux distributions that are available?

Apologies if my curiosity is misinterpreted as ignorance.

<comment><USER4> Don't get me wrong, I love Linux and have been using it since I was a kid. But, for what it's worth, here's my selling point:

Choose OpenBSD for your Unix needs. OpenBSD -- the world's simplest and most secure Unix-like OS. Creator of the world's most used SSH implementation OpenSSH, the world's most elegant firewall PF, the world's most elegant mail server OpenSMTPD, the OpenSSL rewrite LibreSSL, and the NTP rewrite OpenNTPD. OpenBSD -- the cleanest kernel, the cleanest userland and the cleanest configuration syntax.

<comment><USER5> Nitpick: LibreSSL is a fork/cleanup of OpenSSL, not a rewrite.

<comment><USER6> Given how involved that "cleanup" was, "rewrite" isn't _entirely_ inaccurate ;)

</comment></comment></comment></comment></comment><comment><USER7> It's pretty simple on Vultr.

[https://www.vultr.com/docs/setup-openbsd](https://www.vultr.com/docs/setup- openbsd)

<comment><USER8> Came here to say this. One of the reasons I chose Vultr over DO and Linode is the flexibility, and the price is competitive with DO.

Though, I understand why someone who already has a Linode investment would want to do this instead of changing providers, kudos to the author for sharing!

</comment></comment><comment><USER9> Also works fine on Bytemark's BigV - just mount the install CD as an ISO: [https://forum.bytemark.co.uk/t/anyone-installed-their-own- os...](https://forum.bytemark.co.uk/t/anyone-installed-their-own-os-on-a-new- bigv-machine/1440/15?u=joshr)

</comment><comment><USER10> Some hosts are more OpenBSD friendly: [https://www.exoscale.ch/syslog/2015/02/17/openbsd-meets- exos...](https://www.exoscale.ch/syslog/2015/02/17/openbsd-meets-exoscale/)

</comment><comment><USER11> I think the dirtiest remote install I've done was installing FreeBSD 6.X on a QEMU VM with zeroed raw disk image, then dd | gzip | netcat to a failsafe linux the hosting provided, and from there overwriting the hard disk with shell redirection.

<comment><USER12> Oh my, that's nothing ;-) All I had was a minimal debian install with ssh access. So I installed QEMU, and over ssh with X11-forwarding i started it up using debians /dev/sda as the QEMU harddrive (yes you can: qemu-system-x86_64 -hda /dev/sda -cdrom install57.iso -boot d -m 256). Now install it without deleting debians partition. An then add the OpenBSD bootentry to grub. Dual boot remote server!

</comment></comment><comment><USER13> Are there any hosting providers that will truly accomodate raw disk (filesystem: ffs, etc.) images as opposed to proprietary image or container formats (Amazon's, VMWare's, etc.), without having jump through numerous hoops?

For the sake of example, say I already have my system built and configured just the way I like it, as a "raw" ffs image file. And FWIW the kernel on that image is multiboot compatible and can run as a Xen guest.

I also have my own non-GRUB bootloader. But I realize that it may not be feasible for the hosting provider to let me use it.

<comment><USER14> dd it onto a "raw" Linode disk, set the bootloader to "Direct to disk".

</comment></comment><comment><USER15> Not a Linode customer. If you have access to the grub(2) prompt, you can download a OpenBSD ramdisk and boot it directly from there. The whole process boils down to

Download file to /boot (or anywhere accessible from grub)

Reboot / boot OpenBSD installer

Did that on my cloudcost machine to experiment with OpenBSD services.

<comment><USER16> It's a VPS. You don't have access to grub in any form.

<comment><USER17> That's untrue; Linode offers PV-GRUB. I've been using it to boot FreeBSD with their Xen offering for years.

</comment></comment></comment><comment><USER18> I installed OpenBSD at ramnode: mount ISO and use HTML5 VNC client to install the system.

I don't really like preinstalled images, because I don't trust them. They usually tinker with network settings, sometimes with other things. I prefer official installer.

<comment><USER19> > preinstalled images

I had the issue with FreeBSD on kimsufi (2To UFS-formatted drive...). The great thing however was how good their recovery system was: they provide a Linux and BSD live rescue boot that you can use to chroot-install your system. There are just so many parameters that will get badly set with a pre-installed image: FS, size, hostname, routes, adresses, packages not in base (!!!)...

IMO, a reliable rescue mode along the preinstalled images would have all users happy, as either _you_ are in command of the install or are just getting started anyway and don't mind the default settings.

</comment></comment><comment><USER20> Why not just use [http://www.geekisp.com](http://www.geekisp.com) which is an all BSD shop? I've been a satisfied customer for probably around 10 years now.

<comment><USER21> Because their pricing doesn't match the current pricing situation of going as cheap as possible

<comment><USER20> True, but their customer service is bar none. Worth a few extra bucks.

</comment></comment></comment><comment><USER22> Whats the point of running OpenBSD on Linode? Surely the fact that you're using Linode negates pretty much all of the security benefits provided by OpenBSD.

<comment><USER5> I don't see how it does anything of the sort. Using Linode may expose you to additional attacks (I'm not quite sure what you're referring to), but if running OpenBSD daemons with OpenBSD's protections leaves your server less vulnerable to direct attack than alternatives on Linux, this is a significant improvement.

<comment><USER22> I was just referring to their security track record :) (4? compromises within 3 or so years)</comment></comment></comment>


Title Junk - <AUTHOR> https://daringfireball.net/2010/12/title_junk <comment><USER2> I'm not a fan of having the source (a.k.a. the domain) in the title, but I realize that people feel it's important for SEO purposes.</comment>


Beg HN - last day for my open source crowdfunding campaign (neo4django) - <AUTHOR> https://www.bountysource.com/fundraisers/423-neo4django-0-1-9

<comment><USER2> Without following more links, it's completely unclear to me what this project does, who you are, or why I should give you money.

Maybe it's just inside-baseball that I don't understand, but I think you need rework your pitch page.

<comment><AUTHOR> Sorry! I hadn't expected much non-niche interest in the campaign when I wrote the copy. Neo4django is a Django ORM replacement for the Neo4j graph database. I'm the primary dev, but since our startup supporting the project is on hold, I'm trying to find time to keep up development- this campaign will help me complete the next milestone.

<comment><USER3> Yet you promote it on a non-niche forum. What else could you have possibly expected?

<comment><AUTHOR> Do note that I wrote the copy 30 days ago- this is the last day of a month- long campaign. I'd love any actionable advice on the copy.

<comment><USER4> Maybe I'm a little jaded, but isn't feedback "your copy is confusing, doesn't explain the project or why I should support it" sufficiently actionable advice?

If you really care about this project, I recommend taking the initiative on everything instead of waiting for someone to give you the answers.

</comment></comment></comment></comment></comment><comment><USER5> Here's an idea: Go contact everyone on your stargazers list and ask them if neo4django is used at their company. [https://github.com/scholrly/neo4django/stargazers](https://github.com/scholrly/neo4django/stargazers)

</comment><comment><USER6> What does $1000 get you? Time off to work on the project?

In general, I think begging posts are in the best interests of HN.

</comment><comment><USER7> I'm really sorry for not being able to back you. In fact, I don't even have a credit/debit card! Else, I would've helped.. So, sorry about it.. but I tweeted it..

</comment><comment><USER8> Maybe instead of begging you could try to find someone that needs it willing to fund development?

<comment><AUTHOR> A number of users have contributed to the campaign so far- this is the last day, thus the begging :)

<comment><USER9> You're missing his point.

Scrap the crowdfunding completely and find SERIOUS (defined as "$1K is nothing") backers for the project -- perhaps a company that wants it.

<comment><AUTHOR> No, I understood. I chose this format because I'd rather be funded by more, and smaller, contributions than one large sponsor. That might not always be the case, but I think that's where the project is right now.

<comment><USER10> Interesting, so are you saying you actually really don't care a whole lot about this Neo4j thing one way or the other, such that "If enough random folks will sponsor it I'll work on it, otherwise I'll go do something else." ?

Your actions and your words are not in alignment and so there is some confusion around this whole thing.

The original point was _if you care_ about this project, then make it happen by finding someone willing to pay you to make it happen. If there is value in the project then this will be helpful for them, and paying you $1,000 is chump change (seriously its like a couple of hours of a mid-tier lawyer's time, for example).

If you don't care one way or another, then you don't need to "Beg HN" you just say "BTW, I had this out there, it doesn't look like it is going to fly, but I'd mention it one last time here before it expires to see if someone missed it." If on the other hand you actually _do_ care, (which the wording suggests) then, as the progenitor of this thread suggests you should use a different funding approach.

<comment><AUTHOR> Of course I care- otherwise I wouldn't have devoted hundreds and hundreds of hours building and maintaining the library, supporting it all over StackOverflow, and participating in the Neo4j mailing list. Your other points are addressed by sibling comments.

</comment></comment></comment></comment></comment></comment><comment><USER11> I tried pledging like 10 times but bountysource authentication is sucking majorly. Sorry, man.

<comment><USER12> Hey, I'm from Bountysource and saw you're having troubles -- sorry about that.

Can you tell me where you're getting stuck? Which method are you using to sign up (or sign in)? What browser/OS?

<comment><USER13> Personally, I authed via GitHub, but still got a weird flash message along the lines of "Unable to create new account" and then was redirected to the funding page (the one with amount and rewards, etc) and was able to donate via PayPal without further problems.

I wish I could give you better details, but it's Friday night and my attention had wandered before I realized what happened.

</comment></comment></comment><comment><USER14> I'm really confused why I would want a ORM for a graph database. Seems like its a totally different usecase

<comment><USER15> In Neo4J, every node and every edge can have a label and a set of key-value pairs. A label maps very naturally to a class, and its keys map very naturally to fields of that class. Thus, ORM (ehh, OGM really?) makes a lot of sense.

</comment></comment><comment><AUTHOR> Thanks so much for the contributions and comments folks. I didn't quite reach the goal for this milestone, but I can now afford to take some time on the project. Updates pending.

</comment><comment><USER16> How does this compare to Bulbflow?

[http://bulbflow.com/overview/](http://bulbflow.com/overview/)

<comment><AUTHOR> Bulbflow is great, but a little lower-level and doesn't offer much Django- specific integration (eg auth, admin, signals). It expects you to learn more about Neo4j, for better or worse.

<comment><USER17> bulbflow avoids vendor lock-in via rexster.

<comment><AUTHOR> Good point. One of these days, I'd love to decouple the DSL in neo4django from the query building, and allow eg a Rexter backend.</comment></comment></comment></comment>


Ask HN: iOS engineers, what is your salary? - <AUTHOR> Hi to all my fellow iOS engineers. I'm trying to negotiate a package for my next gig here in San Francisco. I have 3 simple questions for you:<p>- How much is your base salary (or total package if you don't mine sharing)?<p>- How many years of experience do you have?<p>- In which city do you work?<p>Thanks a lot my friends! <comment><USER2> 65K 9yrs San Francisco

<comment><AUTHOR> Are you working Part time?</comment></comment>


Treasury Department Concludes Fraud Investigation into Internet Safety Software - <AUTHOR> https://www.eff.org/deeplinks/2017/11/treasury-inspector-general-concludes-fraud-investigation-computercop-internet <comment><USER2> Three years is a shockingly short statute of limitations for this type of fraud.</comment>


A Brief History of America's Appetite for Macaroni and Cheese - <AUTHOR> https://www.smithsonianmag.com/history/brief-history-americas-appetite-for-macaroni-cheese-180969185/?no-ist <comment><USER2> " _To understand the evolution of macaroni and cheese is to realize that pursuit of the "cheapest protein possible" has been a longstanding quest of the American food system._ "

UK: The need for the cheapest and quickest calories post War resulted in the Chorleywood Process for making bread [1]. It served its purpose, but we are still recovering.

Africa: groundnut / peanut soup again filling bellies and adding some protein to a thin broth if meat was short [2]

[1] [https://en.wikipedia.org/wiki/Chorleywood_bread_process](https://en.wikipedia.org/wiki/Chorleywood_bread_process)

[2] [https://en.wikipedia.org/wiki/Peanut_soup](https://en.wikipedia.org/wiki/Peanut_soup)

<comment><USER3> What is the UK recovering from with the Chorleywood process? I saw nothing about issues with it on the Wikipedia page

<comment><USER4> I think the author of the comment just has a subjective preference against the taste and texture.

<comment><USER2> To be fair, it is possible to use the Chorleywood process to make loaves that look pretty rustic and taste OK, but your basic white sliced loaf tastes of nothing much.

A quick search reveals no known evaluation of the Chorleywood process by any authoritative agency in the UK (e.g. Food Standards Agency). Andrew Whitley has expressed concern over the use of directly injected enzymes that do not appear on packaging. There was some stuff in the press about linking Chorleywood process to 'bloating' but that was debunked fairly quickly (around 2012 I recollect)

</comment></comment></comment></comment><comment><USER5> I highly recommend buying some Sodium Citrate (available on Amazon) and making some Perfectly Melting Mac n Cheese.

[http://modernistcuisine.com/recipes/silky-smooth-macaroni- an...](http://modernistcuisine.com/recipes/silky-smooth-macaroni-and-cheese/)

<comment><USER6> First result on Amazon for Sodium Citrate: Non-GMO. Unbelievable.

</comment></comment><comment><USER7> "cheapest protein possible"

Okay. I always figured that ambition went sloping downward along the lines of "Hormel SPAM to Armour Treet Original Luncheon Loaf to Tender Vittles to Libby's Potted Meat Food Product." You can always find something cheaper in the categories of "Material formerly regulated as cheese" or "Material formerly regulated as meat". It doesn't have to contain a particular noodle.

<comment><USER8> Spam is unfairly lambasted. It's actually pretty solid ham shoulder

<comment><USER9> Furthermore I wouldn't call it cheap. If you want a cheap breakfast meat, sausage meat is _significantly_ cheaper. Spam being shelf-stable often makes it worth the price though; I love it when camping.

<comment><USER8> I love Spam in general. It's a fantastic breakfast meat. Short of ham steak, there's nothing better.

</comment></comment></comment></comment><comment><USER10> A serving portion of Mac and Cheese has roughly 40gr of carbs, 10gr of protein. A portion of beef/chicken is 20-30gr of protein. Looks like a source of carbs (energy) more like a protein source to me. Maybe when you add the price, the equation change.( I mean the price per protein gr.)

<comment><USER11> If you are shopping on price, the carbs in the macaroni are a feature. Chicken is a good source of protein but doesn't really deliver the calories per dollar. It's something like 250 calories/dollar at Walmart prices vs 1600 calories/dollar for pasta (varies sharply based on price of pasta, but it is $1 a pound regularly enough).

<comment><USER9> > _" Chicken is a good source of protein but doesn't really deliver the > calories per dollar."_

Throw in some breading and ketchup and you'll give yourself diabetes lickety- split.

<comment><USER11> Breaded macaroni and cheese sounds bad with or without ketchup.

I suspect the diabetes is more related to _excess_ calories and sedentary lifestyles than it is due to macro diet composition. Of course diet composition has an impact on achieving those excess calories, but that's an indirect effect.

<comment><USER9> I'm referring to the practice of eating breaded chicken ("nuggets" and/or "fingers"/"tenders") with copious amounts of ketchup.

I think a lot of people have a blindspot to the nutrition of condiments, they view it as something neutral like a little bit of black pepper. Or in the specific case of ketchup, they think it counts as a vegetable. But the truth is ketchup is basically just a bunch of sugar. For the same volume it has something like half the calories of maple syrup. You wouldn't scarf down half a cup of maple syrup with your dinner, but I've seen people practically drink the equivalent in ketchup. I doubt it's healthy no matter how active you are.

<comment><USER12> Satay sauce is still tasty with all or nearly-all the jaggery left out, and mayo, while high in fat (and cheap veggie oil fat, at that), is low carb.

^ For those who are looking for an alternative to a lake of ketchup to go with their tendies

</comment></comment></comment></comment></comment></comment><comment><USER13> Cacio e pepe. Boil your pasta in salt water, it's particularly good with homemade noodles. Use grated pecorino romano or in a bind use parmesan, olive oil, and lots of cracked pepper. I put in 2-3 tablespoons of the pasta water before putting the strained but still wet and hot pasta - and then stir the crap out of all of it. The cheese oil and water emulsify into a sauce. But only if it's all hot and wet - otherwise you won't get a sauce. It helps if the bowl you're mixing it in is preheated. Seriously you stir the crap out of the pasta, as fast as you can, it seems like you'd tear your noodles especially if they're homemade. Do it anyway. It should come together in less than a minute.

I grew up on Kraft Mac & Cheese. If I ever get a craving for that, I buy Annie's shells and real aged cheddar. I make it with olive oil, diced tomatos, cottage cheese and pepper. Sometimes I'll put in 505 green chiles instead of tomatoes.

</comment><comment><USER14> Macaroni and Cheese is referred to in Canada Kraft Dinner I used to eat it at least twice per week. It's changed so much it's the Theseus of pasta since the only two ingredients, the noodles and cheese powder, were changed but it's still called Kraft Dinner.

The macaroni used to be hard durum wheat now it's somehow formed, not pressed, you can even see the seam on the edge of each noodle. I used to boil it on a rolling boil for seven minutes to get it just barely soft but after Kraft switched the wheat type the noodles turn to mush in a little over a minute.

The cheese has changed too I think it was due to EU regulations or pressure by consumers for it to be less artificial. Whatever was done has changed the cheese so much I don't bother eating it anymore.

It's easier to just buy durum wheat macaroni and some real cheddar cheese to make a better version.

<comment><USER15> > Macaroni and Cheese is referred to in Canada Kraft Dinner

Perhaps a little patriotic of me but it's shocking you talk about Canadian Kraft Dinner without calling it KD.

<comment><USER16> "Kraft Dinners: the national dish of Canada, and the salvation of that country's poor." \--from David Boswell's _Reid Fleming: World 's Toughest Milkman_

</comment></comment></comment><comment><USER17> Fun fact: Jefferson had macaroni and cheese (or something akin to it) served at a state dinner he hosted in 1802: [https://en.wikipedia.org/wiki/Macaroni_and_cheese#American_h...](https://en.wikipedia.org/wiki/Macaroni_and_cheese#American_history)

</comment><comment><USER18> Eh, the writing is not that good.

Not a lot of history either.

Reads like a column in your local paper.

<comment><USER19> Yeah, the unnecessary inclusion of his cheese road trip and awkward crashing at a friend's place in the middle of a divorce was pretty odd. Save the human angle and focus on this history. It's far more interesting to the reader.</comment></comment>


Dementia rates 'higher near busy roads' - <AUTHOR> http://www.bbc.co.uk/news/health-38506735 <comment><USER2> It is not pollution, it is the noise and the low quality of sleep that causes dementia. Good sleep quality is important so the glymphatic system that cleans the brain of garbage while sleeping can work well. See this recent article: [https://www.scientificamerican.com/article/nedergaard-how- th...](https://www.scientificamerican.com/article/nedergaard-how-the-brain- dumps-its-trash-video/)

<comment><USER3> _It is not pollution_

PM2.5 particles from vehicle emissions are small enough to penetrate the blood-brain barrier and have been shown to end up in brain tissue.

Even if it isn't a direct cause of dementia, air pollution contributes to cardiovascular diseases which are themselves risk factors for dementia.

<comment><USER4> I'll add my speculative observation to the mix: Pollution aggravates my allergies, and when I'm having an allergic reaction, I have poorer sleep.

I suspect this result may be reflective of multiple factors that remain to be associated, qualified, and quantified with respect to this overall correlation.

</comment></comment></comment><comment><USER5> In terms of pollution I'm assuming we are talking about NOx, PM2.5, and PM10. However it would be useful to understand if lead, banned in most countries around 2000, impacts dementia and whether this is now beginning to show itself within this study.

<comment><USER6> My favourite lead and violence link - [http://motherjones.com/environment/2016/02/lead-exposure- gas...](http://motherjones.com/environment/2016/02/lead-exposure-gasoline- crime-increase-children-health)

<comment><USER5> That's a brilliant article.

<comment><USER7> In the end there are huge range of causes that all impact these statistics.

For example, the rise of video games which may be a stronger explanation. One way to test this is if their are dips in violence around the release of GTA or other ultra popular games. With the method of action simply being fewer human interactions.

That said, the indirect evidence is even low levels of environmental lead contamination are significant over a population. Which suggests other things may cause similar issues without people noticing. EX: mad as a hatter

<comment><USER6> The correlation matches the phasing out dates in various places. The dates lead were discontinued weren't the same everywhere. Edit: how would games explain the geographic distribution? Areas with heavy lead contamination seem to have more of the effects, although no mention is made of game console/computer prevalence in any of the lead articles.

<comment><USER7> ED: This is in terms of the New York City drop in violence around 1993.

The data is just not as clear as your suggesting. After controlling for various things there is a percentage of the variation that links back to lead levels, but that does not mean it's the only or even the strongest impact in the raw data. Further, lead usage is linked to other things and as such is not completely independent.

PS: Remember, people move so lifetime exposure get's really hard to track accurately without regular blood tests.

<comment><USER6> I'm struggling to find the other article that covers a broader geographic area, it was posted here last year. This one is a ok [http://www.bbc.com/news/magazine-27067615](http://www.bbc.com/news/magazine-27067615)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Could there be some guarding reflex, that detects irregular sound or the absence of regular sounds and jump starts the sleeping mammal if predator presence is detected?

[https://dash.harvard.edu/bitstream/handle/1/5342191/Acerbi%2...](https://dash.harvard.edu/bitstream/handle/1/5342191/Acerbi%20and%20Nunn%20AB.pdf?sequence=1)

[http://the.sleep.ru/lib/NeurosciBiobehavRev_2008_dolphins.pd...](http://the.sleep.ru/lib/NeurosciBiobehavRev_2008_dolphins.pdf)

</comment><comment><USER9> Hum. I live maybe 3000 feet from very busy road. Luckily there is forest between my home and the road. From the article it would seem that my "risk factor" is nil.

At 63 I am starting to think more about dementia risk factors.

<comment><USER10> I wouldnt worry too much. My grandfather has dementia symptoms and he's 90. You could have another 30 years.

One advice after watching him is to never quit your hobbies until you abosolutely have to. His mental decline was sharp after giving up hobbies he had for 40 years.

<comment><USER9> I don't worry too much. Just try to pay attention to what researchers are saying and controlling what I can with my lifestyle.

I work still and will continue to work till at least 67.

I'm a developer and development manager so I get to challenge my brain routinely at work. I consume nuts, lots of and a variety of tea, a little chocolate and some red wine to help with polyphenols [1]. Oh and Omega 3 fatty acid sources. I am actively getting my weight under control.

I play puzzles, board games and other things to stimulate my brain.

[1] [https://www.researchgate.net/publication/308945733_Nutrition...](https://www.researchgate.net/publication/308945733_Nutrition_for_the_ageing_brain_towards_evidence_for_an_optimal_diet)

<comment><USER10> As a 30 year old I think of the same. I'm trying to not spend the next 30 years being sedentary in a office.

I'm trying to pick of all kinds of outdoor hobbies I can do year around.

<comment><USER9> I've been sedentary most of my life. That has turned out to be not so good for my health. I do go workout now about 5 times a week. Been doing that for 3+ years.

I think your strategy of finding outside hobbies can be a real benefit.

</comment></comment></comment></comment></comment><comment><USER11> There is a correlation between living near busy (noisy) roads and sleep deprivation and also between sleep deprivation and dementia.

Seems like a possible mechanism that didn't appear to be explored.

<comment><USER12> My initial thought follows this line. Even if a subject doesn't experience actual sleep deprivation, the constant external stimuli are still omni- present, regardless of how well the conscious mind tunes them out. Perhaps sub+consciously parts of the brain never get any rest, even while sleeping?

I know I feel less refreshed if I fall asleep and media or traffic outside is constant. A hotel room facing a freeway often leaves me waking unrefreshed, which can be partially mitigated if the room's fan blower is left on for continuous, monotonous white noise masking.

<comment><USER11> Yeah, it can disturb your all-important REM sleep without causing you to fully awaken, so you're not aware that your sleep has been disturbed. You're just not as refreshed by morning.

Interesting about the fan blower. My wife started using that to prevent our young kids from being awakened by normal household noise. It reminded me of something I'd read years ago about people who worked in server rooms losing hearing sensitivity in the range of the constant low-level hum. Not sure how much exposure was required, but I encouraged her to use it sparingly.

<comment><USER13> I wonder if that's permanent hearing loss or temporary desensitization. It's not hard to imagine that the brain eventually starts to tune out a constant 60db server hum without any mechanical or permanent hearing loss.

</comment></comment></comment></comment><comment><USER14> Easy to imagine vascular dementia rates being higher due to air pollution, would be interesting to see if rates of non-vascular dementia, such as Alzheimer's are also higher.

<comment><USER15> It's equally easy to imagine that people who have a brain chemistry that makes them value things like quicker access to transport or a faster pace of life that makes them want to live in the centre of a city are also more susceptible to dementia though. This research has highlighted an interesting correlation that's worth studying, it's not _necessarily_ showing that pollution is the cause.

<comment><USER16> [https://www.eurekalert.org/pub_releases/2017-01/pho- lnm01031...](https://www.eurekalert.org/pub_releases/2017-01/pho- lnm010317.php)

According to the press-release, a difference in distance of only 50m from a high-traffic road creates an observable 7% difference in dementia risk.

I'd say it's very easy to both live in a city centre and live 50m away from a major road.

</comment></comment></comment><comment><USER17> Shouldn't car mechanics also have higher dementia rate?

<comment><USER18> General car mechanics probably not. I don't think they spend that much time next to running (and not just idling) engines. But I like that train of thought... how about professional drivers - truck, bus, taxi?

<comment><USER19> Truckers die early [http://www.truckinginfo.com/article/story/2012/07/fmcsa- answ...](http://www.truckinginfo.com/article/story/2012/07/fmcsa-answers- questions-about-driver-life-expectancy-statistics.aspx)

</comment></comment></comment><comment><USER20> Has the study been replicated? If not, we can't know whether it was a statistical fluke, bad methodology, or some other oversight in the experiment.

(I know they do statistical tests, but they often use the wrong tests.)

[https://en.wikipedia.org/wiki/Replication_crisis](https://en.wikipedia.org/wiki/Replication_crisis)

</comment><comment><USER21> I was wondering lately why noise-cancelling technology is not used inside residential-buildings? Is there such a big difference between making this technology work inside my Bose-headphones vs an apartment? Street-noise seems pretty predictable and steady from afar.

edit: bad bad grammar

<comment><USER22> ANC/R works by sending out the opposite waveform of the noise, at about the same volume. It does not remove noise.

Passive noise control through insulation is the best solution for residential buildings.

<comment><USER23> I have long wanted to investigate advanced methods of reducing noise transmission between rooms; it seems to me that's a area that will clearly need improvement if we really expect cities of the future to be towers and condos instead of standalone houses. But you're correct that whatever solution does exist won't look / act like noise-canceling headphones.

<comment><USER24> I think that's an area that would benefit less from investigating and more from acting. But for some reason people think a room that's 20cm wider is "better" than one with sound-proofed walls.

</comment></comment></comment></comment><comment><USER25> Perhaps a correlation to people who live busier/more stressful lives in general.

</comment><comment><USER26> Are there any educated, rich people with a healthy lifestyle living within 200 m of a busy road around? I would be interested in your stance on this.

</comment><comment><USER27> A study like that need to be conducted in New York City (USA), especially in Manhattan and Brooklyn.

</comment><comment><USER28> Can't read the article because it's behind a paywall (sigh).

Any indication of how the researchers defined a 'major road'? Was it purely size or done by traffic throughput over time? Or did they be use air pollution / noise measurements instead?

<comment><USER29> [https://archive.fo/CCg3d](https://archive.fo/CCg3d)

</comment></comment><comment><USER30> Is it possible to filter out particulates in the home?

</comment><comment><USER31> Ehhhh I feel like the researchers took 5000 variables and threw them at the wall to see what sticks.

Living near busy roads is usually cheaper... And I doubt people with dementia are locking down C level positions

<comment><USER5> The study specifically adjusts for poverty/lifestyle.

<comment><USER32> But what proof is there that their adjustments covered every possible cause? I would suggest this is by definition impossible, since if we knew every possible cause for dementia, we would not need to do the study.

<comment><USER13> They obviously didn't cover every possible cause nor should they be expected to. With that logic no one could ever do an empirical study.

<comment><USER32> True, but there should be some rationale as to why they assume that normalization wrt the cofactors they've chosen are sufficient to provide for their conclusions.

Simply seemingly randomly choosing cofactors and then shrugging it off as good enough to draw conclusions from is sloppy. Typical, yes, but mean you shouldn't be skeptical of their conclusions, no.

<comment><USER13> Your specific concern was about socioeconomic status and because they answered that you now call it a random cofactor. Come on. You're not giving meaningful criticism. You're just being negative.</comment></comment></comment></comment></comment></comment>


Outspokes: Startup Chapter One of Many - <AUTHOR> http://blog.outspokes.com/2009/11/06/outspokes-startup-chapter-one-of-many/ The beginning of one Berkeley company's story: from class project to web startup. <comment><USER2> Avk, it is offtopic but I think your signup form (which asks for credit card number) might scare a normal user into believing that his data is not safe. The browser says that HTTPs page contains some unauthentic elements + the fields where you ask for card information do little to build confidence.

Asking for credit card information is a huge thing and either show in the form that you are concerned about security or better still use an external trusted vendor such as PayPal or Authorize.net

<comment><USER3> We recently added a script include that referenced the google AJAX api via http instead of https. That was causing the scary message. It's been fixed now.

I agree we need to add some copy and badging to reassure the user that we store all cc information securely through our payment gateway.

</comment></comment><comment><USER4> Good luck on this! I first heard of you through Sean, and the idea itself seemed to definitely have some legs - enabling live site collaboration should print cash. I do wonder about how the product is defensible. If I have one piece of advice, perhaps in follow up postings, add some lessons learned, inner links, and all that goodness that brings you here.

<comment><AUTHOR> Sean was great to work with and we're definitely planning to add all kinds of goodness for how we got here :)</comment></comment>


Ask HN: Replacement for Mitro - <AUTHOR>

I've been using Mitro for a while and love it - naturally I'm pretty sad that it is shutting down. I'm looking for a comparable manager - I've tried Lastpass and 1Password, and I really don't like them. Does anyone have any suggestions outside of those two? <comment><USER2> There is Dashlane though I've never used it. Once I heard Mitro was getting turned off I sadly switched to Lastpass Premium. It works. Isn't the best, but it gets the job done.</comment>


Visualizing the 911 Wikileaks Data Set - <AUTHOR> http://radar.oreilly.com/2009/12/visualizing-and-categorizing-t.html

<comment><AUTHOR> The video is actually pretty hard to watch, I didn't expect to have a visceral reaction to it.</comment>


A Reddit Forum That Guesses Who You Are Based on What's in Your Fridge - <AUTHOR> https://www.newyorker.com/culture/rabbit-holes/the-reddit-forum-that-guesses-who-you-are-based-on-whats-in-your-fridge <comment><USER2> Direct link to the forum:

[https://www.reddit.com/r/FridgeDetective/](https://www.reddit.com/r/FridgeDetective/)

The article is an interesting summary, but in my opinion doesn't add much value over "there's a forum that does this". So you might want to check it out directly.

<comment><USER3> Thanks. Honestly just the headline and the link to the subreddit is all we needed. Dedicating an entire article around a subreddit seems like overkill.

<comment><USER4> It makes perfect sense for the original medium: print magazine

</comment></comment></comment><comment><USER5> Pretty interesting! Although a bit easier than one might expect.

For example, the author notes that they figured out the author owns a dog and is lactose-intolerant. Seems impressive, but the author has dog treats and Lactaid milk in their fridge - a bit of a giveaway!

</comment><comment><USER6> You are literally what has been in your fridge over the last 12 months.

<comment><USER7> And stars, of course.

<comment><USER8> The 2-year-old ketchup in your fridge... is made of stardust.

</comment></comment></comment><comment><USER9> Is there something like this for computer desktop icons?

<comment><USER10> judging by the fact that you said computer desktop icons instead of browser tabs, you're probably a developer

<comment><USER9> A pack of free, one of a kind GUIDs!

</comment></comment></comment><comment><USER11> It seems like this happened:

1\. I clicked the keyboard shortcut for back

2\. newyorker.com put a popup div about email lists or whatever

3\. I clicked the keyboard shortcut for back again and it went back.

So I had to click the keyboard shortcut twice.

Can this be?

<comment><USER12> Yes, thanks to a modern web browser api called `history.pushState` web sites can modify your history [0]. Useful for single page apps where you want the back button to revert the page to previous states as if they were previous 'pages', abused by web publications the world over to insert a phantom subscription nag page to their website.

But if pushState didn't exist they could probably just hit that nag-page first and then load the desired page, hopefully fast enough for you not to notice.

[0] [https://developer.mozilla.org/en- US/docs/Web/API/History_API](https://developer.mozilla.org/en- US/docs/Web/API/History_API)

</comment></comment><comment><USER13> this won't work with non Americans, good luck identifying local European products with different diet and home cooking

they would never guess i have children because there is zero children targeted products in my fridge and only products for children there are yogurts, fruit and vegetables</comment>


Is Your Offer Letter a Contract? Of Course It Is - <AUTHOR> https://employeeatty.blogspot.com/2019/05/is-your-offer-letter-contract-of-course.html <comment><USER2> They don't address one key part - what happens if an employer rescinds an offer after you have accepted it (whether for a valid reason or otherwise)? According to the article it would be a breach of contract, but it isn't all that rare in the industry.

Same for the reverse - if I accept an offer (based on just the offer letter), am I committing fraud by backing out of it?

<comment><USER3> Breach of trust... Lowers the reputation of whoever rescinds. If a company does this they get a bad rep and fewer applicants. A employee does this and it might get around costing them job offers elsewhere.

<comment><USER4> If an employers rescinds an offer, the employee could blog about it, resulting reputation damage for the employer.

But who would the reverse be true? It's not as if there's a database of employees who have signed a contract but didn't show up...

<comment><USER5> The tech giants (or other corps) have spread the fantasy that if you piss one of them off then everyone up there will know and black ball you. Basically unless you don't do anything super illegal the odds of fucking over your employer coming back to haunt you are relatively small. But the fear that it will keeps people in the order the corps want.

</comment></comment></comment></comment><comment><USER6> This is extremely dubious advice. An offer under general contract rules requires intent to be bound. If the so-called offer letter says outright that it isn't intended to be be binding, it fails the basic definition of an offer.</comment>


Help Me Decide Email Service Providers (ESPs) - <AUTHOR>

Responsys
ExactTarget
BlueHornet SendGrid+SendWithUs
others?
Trying to decide between them. Sending out 50mill emails per year. Hoping to stay under 50k/yr
Interested in a lot of functionality and REST API...  Any advice you could provide would be AWESOME!!
Thanks <comment><USER2> Hey dangersilv, Matt here, co-founder of sendwithus. Get in touch (Matt at sendwithus dot com) and I'm more than happy to have an honest conversation about what you're trying to do, and what the right fit is.

I've told folks to use other products before (ask Grace at Watsi).</comment>


Gilbert Strang's New Course on Linear Algebra+ for ML Now Online - <AUTHOR> OCW link: https://ocw.mit.edu/courses/mathematics/18-065-matrix-methods-in-data-analysis-signal-processing-and-machine-learning-spring-2018/video-lectures/
YouTube playlist:
https://www.youtube.com/playlist?list=PLUl4u3cNGP63oMNUHXqIUcrkS2PivhN3k
Book link:
https://amzn.to/2WecEkk <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=19933274](https://news.ycombinator.com/item?id=19933274)

<comment><AUTHOR> Yeah, just noticed. Posted this (even earlier) on Reddit ML it didn't get as much interest

</comment></comment><comment><USER3> Strang is an excellent lecturer - his videos for 18.06 (Linear Algebra) were instrumental for me in relearning the subject matter more than twenty years after I last studied it.

I used 18.06 to learn the linear algebra necessary to prepare for further study in machine learning. It was sufficient for that purpose, (I got a B and an A in CMU's 10-601 and 10-605 ML courses, respectively) but this 18.065 course is more specifically geared for that purpose. The companion book is quite good, as well.

<comment><USER4> I second this. His videos are phenomenal

</comment></comment><comment><AUTHOR> Oh-oh, no linkifying in text submissions, well here we go:

OCW link: [https://ocw.mit.edu/courses/mathematics/18-065-matrix- method...](https://ocw.mit.edu/courses/mathematics/18-065-matrix-methods-in- data-analysis-signal-processing-and-machine-learning-spring-2018/video- lectures/) YouTube playlist:

[https://www.youtube.com/playlist?list=PLUl4u3cNGP63oMNUHXqIU...](https://www.youtube.com/playlist?list=PLUl4u3cNGP63oMNUHXqIUcrkS2PivhN3k)

Book link:

[https://amzn.to/2WecEkk](https://amzn.to/2WecEkk)

</comment><comment><USER5> I love how the introductory video gives you a big picture of different ways the math can be applied to real life scenarios. I wish they did this more frequently at school. Often the students did not understand at the beginning how all these stuff could be useful and thus they did not invest in the effort or were not interested at all. Each curriculum at school should have an introductory course that clearly outlines and explains how the content of each course can be applied to real life scenarios, including examples of use cases that help students understand the big picture and to motivate them.

<comment><USER6> +1. Motivation is perhaps the most important aspect of teaching. I find that lectures are a terrible medium for teaching a concept; I find that I need time for quiet contemplation / practice / experimentation to truly understand something. However, lectures are fantastic for motivation and encouraging me to do the extra work on my own.

I've been reading (along with my kids) Ben Orlin's Math with Bad Drawings book which is great at motivating and presenting math in interesting ways that are all about presenting things as an interesting puzzle to be solved vs. the way much of math is presented in a rote "this is the algorithm / solution" way.

[https://books.google.com/books/about/Math_with_Bad_Drawings....](https://books.google.com/books/about/Math_with_Bad_Drawings.html?id=2G9BDwAAQBAJ&printsec=frontcover&source=kp_read_button#v=onepage&q&f=false)

</comment></comment><comment><USER7> I skipped to the end and watched Alan Edelman's talk on Julia.

[https://youtu.be/rZS2LGiurKY](https://youtu.be/rZS2LGiurKY)

Alan (co-author of Julia) mentions that only Swift and Julia make the cut for ML, according to Google.

I do like Swift and I'm willing to learn Julia, but most of the ML I see uses Python. Is there any traction for Julia or Swift, or is it mostly aspirational at the moment?

<comment><USER8> I just watched the video and the presenter makes it clear that Google picked Swift ultimately and eliminated Julia from evaluation in previous knockout rounds.

I don't use either and to be honest was surprised that their original set of languages evaluated was C++, Rust, Julia and Swift. Seems like an odd list of languages to start with when discussing ML.

<comment><USER7> You are saying something completely different. Google ultimately picked one language to support. That doesn't disqualify Alan's point about Julia.

I found these slides that look like Alan's from a different talk. The first slide was his point:

[https://arpa-e.energy.gov/sites/default/files/2a%20-%20Edelm...](https://arpa-e.energy.gov/sites/default/files/2a%20-%20Edelman%2C%20Alan%20Presentation.pdf)

<comment><USER8> I am saying something completely different. The presenter in your YouTube link makes it clear that Julia made the cut for evaluation but that ultimately Swift was the only language left standing. The slides make this less clear as they stop before the final knockout round.

I believe this[0] is the "study" the presenter is summarizing, which further makes it clear that Julia did not in fact "make the cut". Put another way, if we are going to argue that Google said Julia makes the cut, we could just as easily make the argument that Rust and C++ made the cut.

[0] [https://github.com/tensorflow/swift/blob/master/docs/WhySwif...](https://github.com/tensorflow/swift/blob/master/docs/WhySwiftForTensorFlow.md) w

</comment></comment></comment></comment><comment><USER9> Love Gilbert Strang's original linear algebra lectures on YouTube [1]. They were a huge help while I took the course.

In my opinion, he takes great care to motivate each topic and express his train of thought when working through problems.

[1] [https://m.youtube.com/watch?v=ZK3O402wf1c](https://m.youtube.com/watch?v=ZK3O402wf1c)</comment>