Nancy Pearl's Rule of 50 for dropping a bad book - <AUTHOR> https://www.theglobeandmail.com/arts/books-and-media/nancy-pearls-rule-of-50-for-dropping-a-bad-book/article565170/ <comment><USER2> I had the interesting experience of returning to two of Iain M Banks's novels, both of which I had read in my late 20s (20 years ago). _Feersum Endjinn_ was fun but not at all profound: I had found it to be very thought-provoking the first time around. In fact, it was the first Banks book I read and it had me hooked. _Consider Phlebas_ I had read and enjoyed, but it seemed flat, uninspired and uninteresting on second reading. I abandoned it after several chapters. I hardly ever abandon books but have done so more often recently - encroaching age does lead to impatience in some things. I'm not sure how I would feel returning to _Use of Weapons_ and _The Wasp Factory_ , both of which I found shocking and profound the first time around.

So the point of this is, your opinion of something might change, or maybe it's just that storytelling is like a magic trick which requires the wholehearted participation of writer and reader to be successful. If you're not interested, you should quit and find something else to do.

I'm the same with television - cannot watch _The Wire_ too many times, cannot watch most other things even once.

<comment><USER3> I loved _Jurassic Park_ by Michael Crichton when I first read it as a teenager.

Recognizing how far my taste has developed since then, I recently re-read it... and found it to be a shrill anti-science screed wrapped in an action movie script.

<comment><USER4> Novels are written to satisfy the social milieu of the time in which it's written. Society's moved on since Jurassic Park, why _would_ it still be relevant?

<comment><USER5> If the book addresses human fundamentals instead of transient silliness, it can last forever. The Count of Monte Cristo (1844), Heart of Darkness (1899) and Jane Eyre (1847) are still relevant _and_ enjoyable, for example.

<comment><USER4> I loved the Count of Monte Christo, and took pains to get an unabridged copy. I got through it, but if I'd had _anything_ else to do at the time, I don't think I would have.

<comment><USER5> The impatient sci-fi fan can can substitute Alfred Bester's resetting in space. Much shorter and has some cool ideas about teleporting in addition to the revenge served cold. Lacks the lovely florid language of the original.

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

<comment><USER6> Or try the Japanese anime version, [https://en.wikipedia.org/wiki/Gankutsuou:_The_Count_of_Monte...](https://en.wikipedia.org/wiki/Gankutsuou:_The_Count_of_Monte_Cristo)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> What has worked really well for me has been to follow Peter Bregman's reading technique, which he got from history professor Michael Jimenez (story and full article here: [https://hbr.org/2016/02/how-to-read-a-book-a- week](https://hbr.org/2016/02/how-to-read-a-book-a-week)):

      1. Check out the author's bio online to get a sense of the person's bias and perspective.
      2. Read the title, subtitle, front flap, table of contents. Figure out the big-picture argument of the book, and how that argument is laid out.
      3. Read the introduction and conclusion word for word to figure out where the author starts from and where he eventually gets to.
      4. Read/skim each chapter: Read the title, the first few paragraphs or the first few pages of the chapter to figure out how the author is using the chapter and where it fits into the argument of the whole book. Then skim through headings and subheadings to get an idea of the flow. Read the first sentence and last sentence of each paragraph. Once you get an argument, feel free to move on to the next argument, skipping over the many repeated case studies or examples.
      5. End with the table of contents again, looking through, and summarising each.

I've found that this has worked wonders for my reading. A year or so later, I refined this technique further, as I found that it didn't work for all books (it works for 'single-idea' books, which I call 'branch books'; it doesn't work as well for 'map of ideas' books, which I call 'tree books'.) For example, _The Long Tail_ is the an example of a branch book, and _Thinking: Fast and Slow_ is an example of a tree book.

(I've written a longer post about the categories here: [https://commoncog.com/blog/the-3-kinds-of-non-fiction- book/](https://commoncog.com/blog/the-3-kinds-of-non-fiction-book/))

 _Edited for formatting_

<comment><USER8> I'm trying to just not read "single-idea" books at all any more, especially of the "take a 30 minute TEDx talk and turn it into 352 pages" variety. If a book isn't worth reading cover-to-cover, it's not worth reading at all.

After suffering through most of "Grit" I just couldn't take it any more and vowed not to read a book like that again. It was one of a few books I've read that's just taking an existing idea (in this case, trait conscientiousness), re-branding it as something else (grit), and then page after page of hammering the same point + anecdotes.

<comment><USER9> I am glad other people get that feeling too. A lot of pop-sci books are not terribly bad but could be cut down to 1/4 of their length. Another example for this is "Deep work" by Cal Newport. Great idea, something to actively think about. But not necessary to be spread out across 300 pages...

<comment><USER10> As a counterexample, I felt "The Information" could have easily been three times its size.

<comment><USER11> I felt like _The Information_ was published when the author got tired of revising halfway through. It started very well but the quality seemed to slide as it progressed. It certainly wasn't the low quality meandering pop-sci book you'll find so often, but I found it lacking in different ways. You might also like _Dark Hero of the Information Age_

</comment></comment></comment></comment></comment><comment><USER12> I definitely used to be a hardcore finisher. It's a really difficult habit to break, as it feels like personal failure, and violation if principle. My wife was also, and independently a book finisher.

I don't recall the realisation that life is short and there is so much to do. Neither of us are finishers now. But I do have a special shelf for unfinished books. They stare at me.

<comment><USER13> one thing i started doing in recent years is just borrowing heaps of books from the library. trawl the catalogue, see what's ready for borrowing, borrow half a dozen ones that look interesting or are on the reading backlog. then start reading a few of them in parallel. if some of them don't hold your attention, stop reading and focus on the ones that are interesting. take them all back to the library when they're due, read or not.

edit:

okay, so now for the obvious question, what's the correct way of framing the which-books-should-be-finished problem, and what's the optimal strategy?

is this a bandit algorithm thing? at each interval t, sample a page from a book according to gittins indices to minimise lifetime regret? does it need monte carlo tree search?

<comment><USER14> Not a classical bandit because the arms have a finite lifetime (the arm is no longer active once you read the whole book) and you know this lifetime. Definitely can be viewed as some form of RL problem. For me the challenge is how you define rewards and hence what information reading part of a book gives you about the total reward for completing the book. Maybe assume some smoothness criteria, so that the reward for reading part n of a book is highly informative of reading part n+1, but less informative of part n+2, and so on. More formally, each book gives some total reward on completion and that reward is distributed according to some stochastic process.

Greedy strategies probably work reasonably well.

</comment></comment></comment><comment><USER15> Definitely a "journey" vs "destination" thing going on here. If you're interested in finding how a novel ends, of course you can skip to the back; but hardly anyone does that, because it's the process of reaching there that's the important (and supposed to be enjoyable) part. So if it's not an enjoyable process, it's worth questioning what social ideas of "worthiness" are leading you to press on with it. Doubly so with "classic" books, where you might need to read a whole other chunk of canon to have the proper context for understanding why this book is supposed to be good in the first place. Or you need to skip some bits that have aged badly.

For non-fiction, it's worth separating books which sincerely have a thesis and supporting arguments from books which are trying to sell you an idea, even (especially) if it's an idea you really want to hear.

There is no longer a "canon" that you can expect everyone to have read; the world is far too big and contains too many people, books, cultures and ideas.

(For youtube videos, when I'm trying to get information on something, I employ a "rule of third": just drop the slider a third of the way in and skip all the personal introduction and setup, to see if this video might actually get to the point.)

<comment><USER16> The point is that if you're not enjoying the journey, you skip to the end and take out the "I need to get to the destination" motivation for finishing. I do this all the time: if the book is getting tedious, I prevent myself from compulsively finishing it by "giving away the end" to myself.

<comment><USER17> I do the opposite. If I'm finding the novel a slog, I'll read the Wikipedia synopsis. If the payoff seems worth it, I'll keep going - I think that most novels where a "twist" isn't the only selling point are worth reading even if you know the plot.

(And if the payoff doesn't, I drop the book. That's what I did with Mieville's Embassytown at the 50% mark.)

</comment></comment></comment><comment><USER18> I suffer under the same affliction Nancy is describing: I cannot bear the idea of putting down a book that I've started.

Currently I'm struggling to get through Gödel, Escher, Bach. I like the ideas presented, especially the parallels between music and art (which I know little about) on one hand, and mathematics and computer science (which I know more about) on the other hand. But I think that it lacks focus and a clear thread. Additionally, I already know most of the mathematical concepts presented in the book, so I don't feel like I benefit much from the long chapters detailing various proofs and formal systems. To make matters worse, Hofstadter avoids using conventional notation and terminology, so I'll be reading through page upon page of detailed descriptions of his own little formal system only to finally realize "Oh, he's just describing propositional logic in a roundabout way".

Meanwhile, I've got a bunch of other interesting books sitting on my shelf that I'd like to read. Alas, there are only about 300 pages left...

<comment><USER19> I give you permission to put down GEB. If you already know some logic and music, there's no point in reading it.

<comment><USER20> I disgree, but only the stories of Tortoise and Achilles. They're the most original bits in the book and they make great repeat reading, reading aloud to others, etc.

</comment></comment></comment><comment><USER21> More generally than just books,

when to quit, is a really hard problem

I'm reminded of the Hacker New link from a month or so ago about 'The emotional journey of creating anything great' [https://news.ycombinator.com/item?id=17164822](https://news.ycombinator.com/item?id=17164822)

where most of the time invested in doing something, looks like all the time you invested, will end up having a poor ROI

pretty much every point there except the end looks like a case study for calling it a sunk cost and quitting to do something else.

Its a hard thing to know when your sample size of data is big enough to make conclusions that have consequences on

(I guess all in all that's the point, you need to use some heuristic, and the link is arguing for a heuristic of 50 pgs when reading a book, which seems like a rule of thumb that I have no particular objection to)

<comment><USER22> For me it would've been 1 year into my (ultimately failed) Ph. D project. I would be a lot wealthier now if I'd launched into the tech world then and been working all that time.

</comment></comment><comment><USER23> _And if, at the bottom of Page 50, all you 're really interested in is who marries whom, or who the murderer is, then turn to the last page and find out._

Ironically, I simply wanted to know what the actual rule was. It takes some effort to find it hidden in the middle of the article.

</comment><comment><USER24> My rule is that you can't drop a book until you've read at least as much as the most you've told someone else to read before giving up on something you've loved. Saying "Oh, Wheel Of Time is GREAT once you've slogged through the first three shitty tomes!" means you are _fucked_ by this rule.

I am also pushing fifty and have read a lot, life's too goddamn short to not give up a book the moment you stop giving any fucks about it.

<comment><USER25> Yeah, entertainment's purpose is to entertain. If it fails to do that in the beginning, it's not for you.

The whole you have to watch/read/listen to X amount before passing judgment is bullshit. If I surround a chocolate cake in three inches of shit, no one will fault you for not eating through the shit just to get to the cake. It might be a good cake. It might be the best cake. But I'm not chowing through three inches of shit just to get it.

Maybe next time, don't cover your cake in shit and see how that goes.

<comment><USER10> If you're reading purely for entertainment you're entering the act with a bunch of expectation baggage (and probably looking over some worthwhile literature in the process).

<comment><USER25> Like expecting to be entertained? He was talking about fiction. Mentally change the word to engagement if you find entertainment too trite.

The point is that if the creator wants their work experienced, they must make the experience enjoyable in some fashion all the way through.

</comment></comment></comment></comment><comment><USER26> I recently read the book Deep Work by Cal Newport, and I wish I had employed this 50-page rejection rule instead of pushing through the whole thing.

I'm a big proponent of deep work habits, avoiding open-plan offices, etc., ... most of the stuff the book talks about. But it is just so poorly and shallowly written, mixing in little factoids or sound bytes that have no real evidentiary weight behind them and as a result just go in one ear and out the other. Most of the advice is entirely subjective, supported by anecdotes about unrealistically successful people who can use their positions of luck-driven- success to be sounding boards for whatever grandiose selection bias and retrospective plaudits they want.

I was very disappointed after seeing the book praised often here on HN. But boy, it was a total stinker and there are many better books on the topic (Peopleware, for one).

The whole book of Deep Work could have (and should have) been summarized with about 5 pages of bullet points, and published just as some blog post. It is absolutely dreadful as a long form book.

<comment><USER27> I recently read "Deep Work" too. I found it unenlightening but generally well written.

Newport's main failing was his laser focus on how to schedule your waking hours to spend more time doing deep work. At least half of the book addressed only this. Personally, I'd have preferred to hear more about what deep work is, what ends it serves, and how to do it better. But I guess we were supposed to read Csikszentmihalyi's "Flow" for that.

Mostly I came away from the book with deep insights into how Newport manages his daily routine for maximum productivity. Useful info perhaps, but not what I sought. However, as a self-help book, Deep Work shines. And seen in this light, its many 5 star reviews start to make more sense.

<comment><USER26> I would disagree in the strongest terms. The book is essentially the opposite of what you described. It's strong points are the general discussions of what deep work is and the differences with shallow work.

As a self-help book, it's beyond pitiful. The advice given is often totally impractical for most people and is extremely hard to read because of the meandering inclusion of useless anecdotes about what this or that CEO does or the throw-away sound byte statistics cherry picked from old research studies and quoted out of context.

The closest thing to a self-help guideline that the book gives is to just state, unqualified, that you should make a ritual out of dedicating certain hours to deep work that cannot be interrupted by shallow work (unless you're a journalist, in which case he advises some totally fictitious concept of just grabbing deep work time in an ad hoc way, whenever you can).

Really, I was interested in reading it primarily as a self-help guide for how to effectively enforce deep work time in my schedule despite meeting-oriented company culture and open plan offices.

In terms of self-help, not only does the book fail to deliver anything useful, but it could even be considered harmful to the extent that people buy into the anecdotes and sound bytes in the book.

</comment></comment></comment><comment><USER28> I remember the first book I intentionally didn't finish. It was a fictional work that I'd gotten about 85% the way through and I felt the narrative start to deterioriate. It was one of those books that makes bold promises at the outset but then kind of just strung you along with increasingly vapid plot twists and I was at a point in my life where I was learning to be impatient and I just said _fuckit_.

Never felt guilty about not finishing a book again. Life's too short to be giving due diligence to poor authors.

</comment><comment><USER29> _Give a book 50 pages. When you get to the bottom of Page 50, ask yourself if you 're really liking the book._

I can usually tell within 10-20 pages.

I also have the "five minute rule" with TV shows, movies (on streaming services), and other activities. Only so much time left on this planet.

<comment><USER30> I completely agree. I've run into a lot of people who say something like the following:

> But dude, you just have to get through the first 3 seasons and the show gets > so good.

No, I'm really fine not wasting 15-30 hours of my life when there's hundreds of other incredible shows, movies, books, and video games.

<comment><USER31> Right! When somebody says "You should watch this great new series!" its like they're saying "You should knit this great afghan!" Man-weeks of work. No thanks.

</comment></comment></comment><comment><USER32> > And if, at the bottom of Page 50, all you're really interested in is who > marries whom, or who the murderer is, then turn to the last page and find > out.

Thank God for Wikipedia's plot summaries of books and films.

> there's no way that anyone there will be able to tell (even if they were > interested) whether you've really read every page of the book you just > returned.

Unless it was a Kindle book, right? :-P

</comment><comment><USER33> I think it makes sense to give it 100 pages, but I read a fair bit faster than the average person.

I think it is also a question of the other factors indicating that a book might be worth reading... is it a classic? Have others highly recommended it? Is it for a book club?

While I'm well aware of sunk cost and realize that it often makes sense to cut and run, I have had the experience a few times with both books and movies where it all came into focus right at the end and make the whole thing worthwhile. If I'd stopped 90% of the way through I never would have had the moment of appreciation.

Just as a hike through the mountains is often rugged and lacking in scenery, reaching the peak changes the entire experience and puts the grueling work needed to get there into proper context.

Some albums are uninviting on the first, second, and even third listens, yet after a while something is unlocked and the music finally makes sense.

I'd argue that some of the best things are good in spite of being inaccessible. It's asking a lot of any creator to give us a happy path and also give us something deep and significant. Sure it happens now and then, but I prefer the significance over the happy path just as I prefer a carefully prepared meal to a piece of candy.

The world wants to give us candy... the endorphins of the clickbait headline are 90% of the endorphins one gets after reading the whole article... the endorphins from watching a porn scene are 90% of the endorphins of watching a romance with a plot... a few pop tarts will go down quickly and dampen our enthusiasm for any cuisine.

</comment><comment><USER34> This is funny because books are about the only thing I really feel compelled to finish whether I like it or not.

I've abandoned countless side projects, instruments, sports, meals, friendships etc when they stopped holding value for me.

But once I crack open a book I really feel like I have to finish it before I can get on with my life. I don't start a lot of books anymore but they tend to stay on my todo list until I've literally read every word..

<comment><USER35> I'm the same way. If I lose interest in a book partway through, I'll stop reading it and go on to other books for a period of time and finish it later. I currently have 6 books in my "Reading" list on Goodreads, 5 of which I started at some point in the last couple of years and haven't finished yet.

</comment></comment><comment><USER36> Having just published a book, and going through a couple of alpha and beta reader groups, I look at my experiences, the stack of books by my nightstand, and realize: _most people do not buy books to read them_

They buy books for the promised experience they'll have owning them. I think most of us heavy readers are not honest enough with ourselves to admit it, but we're not enamored with the ideas in books as much as the experience. An unread book is the promise of a good time yet to come.

I don't know about the Rule of 50. I know that some of the best reads I've had were a struggle for a good, long while until I could finally get into the mind of the author. I also know that some really awful books were a struggle too -- and they didn't get better.

The problem here is that everybody has authors they are easily able to follow. The text just sort of flows. For me, Dean Koontz was like that for a while. It got to the point I started believing a machine was writing these things. They were enjoyable, easy-to-read, action-packed, and completely forgettable. I loved them. Used to call them my "airplane books". Pick one up the morning of travel, finish reading it that day.

Compare that to my current read, "The Brothers Karamazov". I'm struggling, and it's not the author. It's my mind getting aligned with the author that's causing the problem. Sometimes it takes a lot more than 50 pages for that to happen. A little faith is required.

If I had to come up with a rule, I'd go with Pearl's Rule, except for classics. And I'd add a fallback position: try the audiobook. Many times it's easier to listen to an audiobook half-way and get the general gist of it.

<comment><USER31> I don't know about 'most people'. I start reading a book immediately after buying it.

<comment><USER36> It's not unusual for me to get three or four book recommendations in a week.

I try to resist the urge to buy them all, but my ability to purchase books far exceeds my ability to read them.

<comment><USER37> I don't buy books if I have any left that I haven't already read. But I read them rather quickly, so the money I spend on books is instead limited by my willingness to shop for new (to me) books.

When I browse the virtual shelves online, I usually throw a bunch of books on a gift wish list and intentionally not buy them myself, so that other people don't have to struggle at birthdays and gifting holidays.

Also, since they were gifts, I get fewer unwanted interruptions as I'm burning through one of those books after the holiday.

</comment></comment></comment></comment><comment><USER38> I suspect that I would never have finished _The Man Who Loved Children_ by Christina Stead if I had followed that rule. As a matter of fact, page 120 might not have sufficed. It stopped me once, in my 20s, but when I picked it up in my 50s and pushed on, I was very glad I did.

I agree that life is too short to read crummy books through. I do now and then for a neighborhood book club, with gritted teeth.

</comment><comment><USER39> While I think this is good, my impression is that it works better for fiction than non-fiction. Most of my reading the past few years has been non-fiction, and the hardest thing is finding a book on a good subject and with interesting information, but poorly written or just generally unenjoyable. I know that continuing will be painful, but I also know that continuing will allow me to learn about the subject. Not sure 50 pages (or some other metric) works in this scenario, only real option is to find a better book on the subject!

As for fiction, what really did it for me was listening to the New York Times Book Review podcast[1], specifically the reviewers and Editor Pamela Paul. Many of them, especially PP, frequently mention not finishing a book, and hearing that from them felt liberating. It's still hard, but I figure if they can put a book down, so can I.

1: [https://www.nytimes.com/column/book-review- podcast](https://www.nytimes.com/column/book-review-podcast)

</comment><comment><USER40> I would have dropped every Stephen King book by that measure. Actually, maybe I should have.

<comment><USER37> I was gifted two of them recently, and it seems like maybe he might have chosen to sacrifice quality for quantity two or three hundred books ago.

I'm glad I decided to avoid him as an author when I was much younger. He'd have been better off just writing them as screenplays or teleplays to begin with.

Someone recently compared my Twitter posts to Stephen King, and I winced physically. I'm almost certain they meant it as a compliment, though. And maybe that's good if I wanted to write for the mass market instead of the sci- fi/fantasy nerds?

</comment></comment><comment><USER41> I was until recently one of those people who insisted on finishing any book (or movie or TV show, for that matter) they started. Otherwise, I wouldn't feel _closure_. I dropped a few books ( _Lolita_ , _The Pragmatic Programmer_ , _Kitchen Confidential_ etc.) but kept feeling guilty later on. I am glad to hear from so many people here that dropping in between isn't such a bad thing after all.

Related question: do you guys have a similar system for research papers? I've tried reading them a lot but have successfully made it through only a few. At this point, I even question if the effort in getting through their drudgery is worth it.

<comment><USER42> Research papers deserve no mercy. Mine what you want out of them. Only reviewers have to read them whole.

<comment><USER43> You might also want to at least skim the whole thing if you want to use a research paper to win an argument, if you suspect that your interlocutor will try and find something to nitpick.

</comment></comment></comment><comment><USER44> Ha, she really does have an action figure!

[https://mcphee.com/products/librarian-action- figure](https://mcphee.com/products/librarian-action-figure)

</comment><comment><USER45> If I had followed this, I never would've finished the "A Song of Fire and Ice" series (game of thrones). I guess technically I may never _FINISH_ since he hasn't written all the books yet.

It is a VERY painful start. And if you read interviews with Martin, he admits he had no idea where hew as going with the story until about halfway through the first book.

<comment><USER46> I eagerly read the first 3 books without ever considering abandoning any of them and I subscribe to the yank-the-bandage approach to dropping books if not interesting within 20 pages or, towards the end, abandoning if I find myself skimming or skipping pages. With these, it never happened.

When I read the 4th book, however, A Dance with Dragons, I kept reading far longer than I would any other book, hoping that it would get better and start getting somewhere. It never did. It was a slow motion train wreck. Finally, I threw in the towel and dropped it with no desire to ever go back and finish it or the 5th book. It did strengthen my resolve to drop bad books early even if prior books by the author were great reads.

</comment></comment><comment><USER47> I have the opposite problem, there are so many good books out there that I will often be reading several at any one time. The ones that just don't grab me tend to fall to the bottom of the pile and stay there until I realise its just not going to happen. Then it goes back in the shelf.

</comment><comment><USER48> I remember looking at the Wikipedia history of the Nancy Pearl history and discovered, to my amusement, that a librarian at the State Library of NSW had carefully started editing her page, and a bunch of other library related pages.

</comment><comment><USER49> When deciding whether to buy a book at a book store, I do not usually have a luxury of reading the first fifty pages; at least, I seem to be able to discern whether I would _not_ like the book by simply opening the book on a random page and giving it a quick look. If, for example, the book consists mostly of conversations, I see it as a "talking heads" book and lose interest; there may also be other things that could immediately put me off, like "hither and thither".

</comment><comment><USER10> I'm a finisher. But I tend to do my diligence before I start, so even if I am not particularly thrilled about the book at the end, I find there is usually something to glean from it. A few nice passages in the context of a book I'm otherwise not enjoying much is a nice experience, I find. Plus, reading other styles of writing in general is good for comprehension, I think. The more you read, the more of what you read starts making sense.

</comment><comment><USER50> I totally agree with the author. I'm a 'finisher' (so tend not to start things! ;)) Like the author it's taken me a while to get to the point where I can ditch a book part way through. But when it comes to books, if you don't want to read it, don't. Forget 50 pages. If it's boring or annoying simply stop reading and use your time more wisely.

</comment><comment><USER51> Does anyone else find it unsatisfying that it's not computed from the outset but switches to it later after a trigger?

</comment><comment><USER52> I usually just read the beginnings of books and then selected chapters for non-fiction. That's often the best part.

</comment><comment><USER53> Probably a fair rule to go by overall But if I'd followed her rule I might not have read 'Fathers and Sons' through. The first fair chunk of the book I found extremely boring but at some point I became engrossed and to this day remember it as one of the books I've enjoyed the most.

<comment><USER54> Hm, maybe the algorithm could be refined to define a threshold of boredom; should this be met before 50 pages, use the remaining pages (50 minus pages so far) to randomly select pages to explore for more something exciting ahead.

</comment></comment><comment><USER55> I rarely read fiction these days so this is a non issue. If I pickup a fiction, if I'm not into it by the 2nd chapter. I'm tossing it. I don't care how great the world says it is. If non fiction, I can always jump around to relevant parts that I care about.

</comment><comment><USER56> Some years ago I had a conversation with a friend about Douglas Coupland's novel _Microserfs_. He said, "That book annoyed me so much I tore it up, on the Tube."

I had never thought of _stopping_ reading as such a decisive act.

</comment><comment> your-nanny I think it's a fine rule; be master of your free time. But beware of the reasons you are setting it down. Profound books can be difficult reads, and older books especially were content to make you work for it.

</comment><comment><USER57> Not a rule to apply in the first two years of undergraduate compulsory classes!

</comment><comment><USER58> Completely stupid. Give it no more than two or three pages. (Of the real meat, not any front matter.)

There are way too many books in the world, and too many bad ones, for any random book to deserve fifty pages of your attention.

</comment><comment><USER59> Gotta say, Love in time of Cholera is terrible for the first 80 pages or so, but it one of my very favorite books, and doesn't work at all without those first 80 pages.

</comment><comment><USER60> I read quickly so 15 minutes is enough time to make this sort of call. The more you read the easier it is to determine if a book is good or not, as well.

</comment><comment><USER61> These days, I find myself turning more towards non-fiction than fiction. History books about interesting events, for example.

</comment><comment><USER62> i've used the rule of 40 for quite some time now for both fiction and nonfiction. it does allow for some edge cases where you figure out that the remaining pages of the book will be very similar and mostly mediocre and you end up finishing it anyway, but at least it's a known quantity at the outset.

</comment><comment><USER63> How do you apply it to Kindle books? What is the equivalent of 50 pages in Kindle "locations"?

</comment><comment><USER64> When you are 100 years old, I guess you just look at the cover and decide. After that, people read to you?

</comment><comment><USER65> From reading all the comments in this thread, it seems than nobody is a hardcore finisher anymore.

</comment><comment><USER66> 50 is a bit low. Personally, I use 20%.

<comment><USER54> Sounds like you often read books with 250+ pages :)

</comment></comment><comment><USER67> It's the book-halting problem...

</comment><comment><USER68> "Don't try." -Bukowski

</comment><comment><USER69> You don't need a rule to stop reading a book and there's no reason to feel bad about it

<comment><USER70> This is such a simple counterargument to OP, It's funny to see you down-voted.

I guess we all need a system these days to validate our actions, even how we should spend our free time.

</comment></comment><comment><USER71> Some really good books will get false negatives by this rule, however.

For example: The Murder of Roger Ackroyd, by Agatha Christie.

By the bottom of page 50 I was not enjoying it at all, seemed like a trite mystery novel. I was ready to put it down but the friend who recommended it urged me to slog through. And boy was I glad I did. As is common with Agatha Christie, there is often a huge payoff at the very end (last chapter).

<comment><USER72> I'm having that problem with The Girl With The Dragon Tattoo.

It takes 120 pages or so to get to the real plot. An amazing amount of time. But I'm kind of enjoying it and get the feeling once it starts moving I may really like it.

But at the same time it was so slow for a good portion of the start I'm not sure I want to continue.

<comment><USER73> It's a pretty fast read overall. But for me it fell into the category of "standard thriller fluff"

<comment><USER72> That's basically what I expect out of it, but if it's well written that's fine. I've mostly been reading Sci-Fi lately so I'm up for the change of pace.

I'm not expecting it to be the next great literary work of the world.</comment></comment></comment></comment>


Ask HN: Can you comment on my job posting for employee #1? - <AUTHOR>

= PHP Developer =
Hi, my name is Brad Touesnard. I'm the founder of WP App Store (http://wpappstore.com), a marketplace which enables users to purchase and install themes and plugins from within WordPress. I'm looking for employee #1. That's right, at the moment it's just me and my wonderful advisors, Adii Pienaar of WooThemes and Carl Hancock of rocketgenius.
== Flexible, Proactive, & Embraces Change ==
In addition to being a talented PHP developer, you should welcome taking on tasks outside of web development. In fact, you should identify and take on tasks without having to be asked.
Most people don't like change. You should embrace it. You should be open to trying new things. This isn't IBM, Microsoft, or another colossus. This is a nimble startup and things change quickly, including your role.
== Extraordinary Benefits ==
I believe that a healthy work-life balance is very important and key to creativity and overall happiness. And if you're happy, I'm much more likely to be happy too. To promote a healthy work-life, I'm offering the following generous benefits:
Full salary for a 4-day work week. We won't work Fridays. 15 vacation days + stat holidays + two weeks off at Christmas Full coverage for medical, dental, and vision
== Developers, Developers, Developers ==
I'm seeking a PHP developer who loves working with WordPress. Ideally someone who keeps up with the latest WordPress core development by following along in Trac, submitting core patches, playing with nightlies, and reading release notes. Someone with a nice, healthy WP.org profile, with some plugin submissions. I'd also love to see some examples of more advanced theme and plugin coding, like adding custom URL rewrites, parsing requests, customizing the dashboard, and working with crons. Above all you need to show me you enjoy developing for WordPress.
== Requirements ==
* Expert PHP programming skills with intimate understanding of WordPress
* Superb English communication skills (spoken and written)
* Very good front-end development skills
* Good LAMP system administration skills
* Good UX and design sense
* Comfortable working remotely (there is no office)
== Nice-to-Have ==
* Located in AST time zone or a close neighbor
* UX and design skills
* Computer science degree or equivalent
* Experience working with AWS
== Responsibilities ==
* Work with me to develop the WP App Store's systems (built on WordPress) and add new features for customers, publishers, and affiliates
* Examples of new features include product search, ratings & reviews, new API endpoints, and an ad platform
* Engage with the WordPress community by writing blog posts, tweeting, contributing to WordPress core, and contributing to the WP.org repository
== Interview Me ==
Let's say you accepted an offer for this position. You would be working with me daily, so I recommend learning as much about me as possible. You can find my complete autobiography at http://bradt.ca/about/ but feel free to dig deeper and ask lots of questions if we end up chatting.
This position starts as a 3-month contract with the potential to turn into a full-time position at the end of the contract. Should you accept an offer for this position, I reserve the right to say "make it so #1" as often as I like.
== Apply ==
To apply, please send an email to email@example.com with the following:
* A link to your resume (no attachments please)
* Your GitHub and/or WP.org account URL
* Why this job interests you
* Why you are good for this job
* A URL to something awesome <comment><USER2> Overall, I like it: it's straight to the point and simple.

Two improvements I'd suggest:

\- It'd be good to have a bit more detail about what day-to-day responsibilities are. How much of the WP work would be designing stuff vs. coding? Will there be any server admin?

\- You need to indicate something about the money. The benefits look great, but don't add up to much without knowing whether I can expect a mickey-mouse rate or not ;) For the same reason, I wouldn't apply as the ad currently stands.

<comment><AUTHOR> Awesome points. I'll try to work in the day-to-day stuff. Good point about money. I'd like to avoid mentioning specific numbers and "commensurate with experience" is pretty lame. How about something like "Generous, competitive salary"? Would that work?

<comment><USER2> _How about something like "Generous, competitive salary"? Would that work?_

Heh, it's definitely a tricky one to spell out, agreed :)

If it was me, I'd go with a more personal touch, something along the lines of: "I know that good developers don't come cheap, and I'm happy to pay market rates for the right person."

Only thing missing is whether you're talking about permanent employee rates, or consultant rates, but it addresses the biggest of my concerns.

</comment></comment></comment><comment><USER3> It's very vanilla. Nothing stands out to me as something you wouldn't see in a Craigslist ad. I don't know if that's a good or bad thing, though.

<comment><AUTHOR> I started out with a bit of a running dialog format, but then realized if I was looking for a job, I'd appreciated bullet points and the usual "Requirements" and "Responsibilities" sections. Any specific suggestions to make it less vanilla?

<comment><USER3> Like I said, I don't know if vanilla is a bad thing.

Personally, I think your biggest problem is going to be that WordPress is a hunk of shit and the people who would make good first employees don't work with WordPress because they don't have to - I, personally, have done about at least 50 WordPress installs but I use it as little as possible because the codebase is a festering mess.

I don't know how to get around _that_ problem, but if you figure it out I'd be interested in hearing how.

<comment><USER4> Yep, same here; been doing PHP development for around ten years and the few times I've touched WordPress I've regretted it.

Plus, it seems like WordPress development is a rather crowded space... how are you going to differentiate yourself? I see a little bit of wanting to "own the market" here with the in-WP app store idea, but why would I go to you instead of going directly to the developers of the plugin?

<comment><AUTHOR> I'm not sure what you mean. The WP App Store is me, I am the developer of the plugin.</comment></comment></comment></comment></comment>


Show HN: SandySearch – Waze for services during or after a disaster - <AUTHOR> Anyone in path of Hurricane Michael?
If so please feel free to use our Call for Code entry: SandySearch. It is a tool that can find gas stations that actually have gas, around you now.
Go here to use it: https://plu.sh/sandys
It is also available on the Google Play store:
https://play.google.com/apps/testing/io.ionic.sandysearch
More information on the app, entry and how it works here:
https://devpost.com/software/sandy-search
All comments and feedback welcome. <comment><AUTHOR> SandySearch is now on the Apple App Store too:

[https://itunes.apple.com/us/app/sandysearch/id1438425201?ls=...](https://itunes.apple.com/us/app/sandysearch/id1438425201?ls=1&mt=8)

</comment><comment><AUTHOR> Now on Google Play (not beta) here:

[https://play.google.com/store/apps/details?id=io.ionic.sandy...](https://play.google.com/store/apps/details?id=io.ionic.sandysearch)

</comment><comment><AUTHOR> Another take on this here:

[https://www.illawarramercury.com.au/story/518649/after- sandy...](https://www.illawarramercury.com.au/story/518649/after-sandy-search- for-wi-fi-and-coffee/)</comment>


Google INTERCAL Style Guide - <AUTHOR> http://cadie.googlecode.com/svn/trunk/INTERCAL-style-guide.html

<comment><USER2> great ;)</comment>


Feedback wanted: nodeJS framework for HTTP and Socket connections = actionHero - <AUTHOR> https://github.com/evantahler/actionHero

<comment><AUTHOR> In recent weeks, I've needed a nodeJS `API` framework capable of handling clients connecting both via HTTP and over TCP socket. I haven't found a good, clear framework which makes it simple to reuse code, so I built one :D

Features include:

\- Clear, reusable `action` templates for both http and socket connections

\- integrated ORM

\- "chatRoom" based logic for client communication

\- periodic scheduling within API

\- the basics (tests, logging, docs, etc)

\- npm package

This API still "alpha" software, but I would love some feedback (release early, release often). Are there:

\- Folks out there who want to beta test?

\- Other databases beyond mySQL you would like to see integrated?

\- More examples which would be useful?

\- etc?

Thanks!

<comment><AUTHOR> Also, here's a demo server to play with [[ actionhero.evantahler.com ]]. You can visit the api in your browser (:80) and check out the JSON and JSON-P responses. You can also `telnet actionhero.eventahler.com 5000` to try it out via socket</comment></comment>


The Future of NetNewsWire - <AUTHOR> https://medium.com/bpxl-craft/the-future-of-netnewswire-8fc999387a8a <comment><USER2> Very excited about this move, I was thinking about which reader to go for in the past ([https://blog.notmyhostna.me/sad-state-of-rss-on-the- mac/](https://blog.notmyhostna.me/sad-state-of-rss-on-the-mac/)) and now settled on Reeder when they announced Reeder 4 last week and made the current version free.

I'll probably switch to NNW when it's out, the developer seems very passionate about the project which makes me a bit more confident in its feature than Reeder.

I really like the part that Black Pixel played here, handing over the name and app and letting him work on it.

</comment><comment><USER3> I'm happy about this, and hope NNW becomes as good as it once was.

I've been pretty frustrated with Black Pixel, especially their lack of communication about roadmaps. When a year had passed with no news on the supposedly upcoming iOS app (2013 timeframe, when they moved to a new code base and broke sync), I gave up on them as vaporware and moved to Reeder with Inoreader as a syncing back end.

I'd love to have a reason to go back.</comment>


Yamaha DX-7 synthesizer clone written in SuperCollider - <AUTHOR> https://github.com/everythingwillbetakenaway/DX7-Supercollider <comment><USER2> Shameless self-promotion. There's a high performance C++ (with neon simd acceleration) implementation at [0]. Note, this also compiles cleanly to wasm and runs in the browser (see the "webaudio" branch). This code is also the basis of the reasonably popular free "dexed" vst. Some of my analysis of the DX7 is on the associated wiki as well.

Not to take anything away from the original posting, but if performance is a goal, this may be interesting.

[0]: [https://github.com/google/music-synthesizer-for- android](https://github.com/google/music-synthesizer-for-android)

<comment><USER3> Did you make this while at Google?

This seems to be for an Android app. But is there a variant that works as a LV2 plug-in or even a stand alone Linux app?

I take it this is the Android app: [https://play.google.com/store/apps/details?id=com.levien.syn...](https://play.google.com/store/apps/details?id=com.levien.synthesizer)

Would be great to have in F-Droid repo.

<comment><USER2> I did make it while at Google, and the main focus is an Android app, but the sound engine is pretty platform-independent. For the LV2 plug-in, you probably want dexed, which is based on this code (but continues to be developed).

<comment><USER3> Thank for pointing me to Dexed...their github or website didn't have an LV2 download, however, I found Linux x86-64 binary from Distrho and it works great in Ardour! [http://distrho.sourceforge.net/ports](http://distrho.sourceforge.net/ports)

Thanks for coding such an important tool!

</comment></comment></comment></comment><comment><USER4> Chowning (the father of FM synthesis) is a fascinating guy. Stanford was about to boot him from the music department right before his FM synth patent was licensed by Yamaha, and made the university over $25M.

[https://priceonomics.com/the-father-of-the-digital- synthesiz...](https://priceonomics.com/the-father-of-the-digital-synthesizer/)

<comment><USER5> And if you want to see and hear how musicians used FM synthesis in pre-Yamaha era then I would suggest to check this video with famous Laurie Spiegel playing in real-time on Alles synth: [https://www.youtube.com/watch?v=NChqEEz31eE](https://www.youtube.com/watch?v=NChqEEz31eE)

<comment><USER4> Oh yeah, almost forgot to mention that the Alles synth wasn't FM. It was additive, like a fourier transform.

There's a neat little program called SPEAR for creating sounds using additive synthesis:

[http://www.klingbeil.com/spear/](http://www.klingbeil.com/spear/)

<comment><USER5> Yes, Alles synth is mostly known by its additive synthesis. But don't you hear some classic FM timbres in the video? Please check this pdf too: [http://retiary.org/ls/obsolete_systems/Alles_synth_1977.pdf](http://retiary.org/ls/obsolete_systems/Alles_synth_1977.pdf)

</comment></comment></comment></comment><comment><USER6> Frequency modulation (or phase modulation as traditionally implemented) (as in the Yamaha DX/TX) series tends to produce sidebands with a non-linear response to the modulator (index) parameter. This leads to both the 'shimmering' and 'nasal' sound of many patches, and in many ways is the "sound of the 80s" (DX pianos) that many find cheesy. There's a modified form of FM that has a more 'natural' sound, and the same algorithm can be also be used to generate nice bandwidth limited square, sawtooth, and triangle waveforms for 'analog' synthesis emulation.

Paper here:

[http://www.aes.org/e-lib/browse.cfm?elib=15506](http://www.aes.org/e-lib/browse.cfm?elib=15506)

I once wrote an implementation of this in C++. It does sound different than the old Yamaha-style FM. But I was never able to make it into a finished 'synth' product as a VST or whatever.

</comment><comment><USER7> Good work! For those unaware how the DX-7 works, it's simple to emulate a _similar_ synth but getting the presets to work is a pain. The core of the DX-7 is little more than some counters and a lookup table for sine waves, but (unlike subtractive synthesizers) there are a lot of control inputs each with their own envelopes.

So you could make something similar and get sound out of it in a couple hours, but you'd have to come up with your own presets, or you could spend a few months figuring out how the preset parameters map to actual values like envelope amplitude, timing, modulation levels, et cetera. This project is the hard version, which (apparently, since I don't have Supercollider fired up at the moment, and my DX synth is in storage) correctly gets all the envelopes and modulation right.

Curious to know how close it is, e.g., does it respond to aftertouch? Not sure about that. Most of the DX presets I'm familiar with have some fairly aggressive aftertouch responses.

</comment><comment><USER5> In DX7 the actual sound was made with custom LSIs. I.e. there is no CPU involved. And no multiplication inside, Japanese engineers used log/exp sine tables instead. Also DX7 had sampling rate of 49096 Hz, 12-bit "floating- point" DACs etc etc. Most of software versions of DX7 don't take these nuances in account which makes some DX7 purists upset :)

If you, as a DX7 clone developer, want to make happy these 2 or 3 people too, please, use fixed point calculations, resampling, real ROM data and so on :)

<comment><USER2> "No CPU involved" is not strictly true, as the CPU is doing the LFO. You can observe this by, for example, rapidly moving the data slider and noticing that the LFO slows down.

I considered doing a super-accurate "dirty" mode but ultimately decided against, as most of these changes would make it sound worse. One important subtlety is that after the DAC (which is just sample-and-hold) there's a Sallen-Key low-pass filter tuned at about 16kHZ, to round off the worst of the DAC artifacts. Many digital replicas (my own included) miss this, which gives a harsh brittleness to the sound.

I know dexed added multiple bit depths (this work was done after mine, and I haven't followed their fork carefully). I don't know about the other aspects of the signal chain though.

I get where you are coming from, though, and think it would be a good project for a super-dedicated contributor.

<comment><USER5> Thank you! Didn't knew that about LFO. And I just found your wiki page [1], it's very informative. So I would like direct any curious reader there :)

[1] [https://github.com/google/music-synthesizer-for- android/blob...](https://github.com/google/music-synthesizer-for- android/blob/master/wiki/Dx7Hardware.wiki)

</comment></comment></comment><comment><USER8> Just in case somebody wants to know what is a DX7...

The DX7 was the first affordable fully digital synthesizer on the market. It appeared in 1983 in a world of mostly-analog synthesizers that had polyphony limited to 8 voices (at _hugely_ expensive prices for an 8 voice model!) and a limited amount of presets. A typical popular polysynth of the era would be the Prophet-5, with 5 voices.

Also, only the most expensive analog polysynths were velocity sensitive, and only one had aftertouch (the sublime Yamaha CS-80 and the Yamaha GX1).

Finally, the analog synthesizers that had no DCO (digitally controlled oscillators) could have some tuning problems due to temperature changes, etc.

So in 1983 this DX7 synthesizer appears on the market, offering 16 (sixteen!) voices and 32 presets (expandable to 64 by use of a ROM cartridge) plus this new stuff called MIDI (that only two or three synths supported by that time). The typical analog substractive polysynth had two oscillators per voice (remember, 5 voices was "good", 8 voices was "deluxe" in the early 80s), one envelope generator per voice, and one filter. This DX7 thing had 6 oscillators per voice (total = 96 oscillators) and 6 envelope generators per voice (total = 96 EGs); but no filters.

Also, by that time almost no true synthesizer could give you a decent (credible) electric piano or flute sound. The DX7 could do very decent electric pianos, and a very credible flute sound was included as well.

Thus this was a monster synth that sold like hot cakes, so much, that Yamaha couldn't keep up with demand and many musicians had to wait for one...

The DX7 wasn't the ultimate Yamaha, however; The DX1 was the deluxe model, with _polyphonic_ aftertouch, 32 voices, balanced outputs, weighted keys and a much more comprehensive interface. Later the DX5 was released -- a stripped- down DX1, without the nice interface and no poly aftertouch.

The DX7 was used in massive amounts of songs until the people got tired of the presets ("why they didn't program it?" is another story worthy of an article). Later the Roland D50 appeared, with easier-to-create sounds, and the mainstream abandoned the DX7 and FM synthesis.

</comment><comment><USER9> Supercollider home: [https://supercollider.github.io/](https://supercollider.github.io/)

</comment><comment><USER10> Awesome job! Love seeing Supercollider on the front-page of Hacker News.

<comment><USER11> Someone should write about what it takes to do real-time GC. (not me!)

<comment><USER12> If I remember rightly, SC's design mostly keeps GC effects out of the synthesis path.

SC is split into a GC'd frontend and a non-GC'd backend, and it's the backend that does the sound synthesis. The frontend runs the SC-language programs, whose output is a graph of sound processing components that is serialized and sent to the backend, where it updates the running synthesis graph. I think also the frontend can send new parameter values for nodes in the graph to the backend, so the frontend GC _can_ have an effect on synthesis in cases of allocation-heavy, rapid control; but my limited experience with SC didn't involve that level of control.

</comment></comment></comment><comment><USER13> btw: If you fancy a free VST clone of the DX7, check out dexed

[https://asb2m10.github.io/dexed/](https://asb2m10.github.io/dexed/)

<comment><USER3> Is there an LV2 version of the plug-in so can easily work in Linux programs like Ardour?

<comment><USER14> I haven't tried it, but the page does mention it's available as LV2.

</comment></comment></comment><comment><USER15> This is interesting, but perhaps the author should also post the serial number of the DX-7 unit used. :-)

I can't remember the details, but early serial numbers have a slightly different sound. They also had slightly different MIDI protocols, including something like a heartbeat. I know because I own a more recent unit.

<comment><USER16> I think it was something about having 8bit waveforms.

<comment><USER17> the dexed plugin allows different bit depths. There were a lot of FM synths from yamaha from the DX5, DX7, DX7s, DX7II and they all had differences in one way or another. The user Power DX7 on youtube has some really in depth looks at the sonic differences between dexed and his dx7s. He also has some great intros into how FM synth works, which had eluded me for a long while. I gave my dx7s away, but sometimes I think about getting a korg volca FM to replace it.

<comment><USER16> linear through zero FM is a huge mystery to me.

It sounds amazing though!

</comment></comment></comment></comment><comment><USER18> DX7 was the synth that gave the 80s a bad rep. But I had one and I loved it and this is super cool-ider!

<comment><USER19> And rightly so: the DX7 presets were abominably tacky.

Only in the hands of a capable programmer can it go to places unreachable by contemporaneous machines. Eno is the most obvious name that comes to mind... do you know any others that plumbed the depths of FM?

<comment><USER20> Jaques lu Cont of Zoot Woman

[https://www.youtube.com/watch?v=4Vuf5taoy4Q](https://www.youtube.com/watch?v=4Vuf5taoy4Q)

EDIT: tldr start watching at 7:37

</comment></comment></comment><comment> brian-armstrong I'm a little confused by " // Under GNU GPL 3 as per SuperCollider license "

Does this imply all SuperCollider projects have to be GPL3?</comment>


Building a PWA using data-over-sound to localize devices to group chat room - <AUTHOR> https://blog.pusher.com/chirp-and-pusher-chatkit/ <comment><USER2> I'm curious what is the reason for webassembly here. I mean, there is API which allows to interact with mic and also API to produce sounds. So what API is missing, that must be implemented in WASM. No offence, just curious.

<comment><USER3> WebAssembly is used here to compile Chirp's proprietary software from C into something the browser can understand.

There is years of research and development behind Chirp technology, which makes it robust in noisy and extreme environments.

So it is definitely possible to produce something similar in pure JavaScript, but it would be no where near as resilient.</comment></comment>


Gallium nitride is the silicon of the future - <AUTHOR> https://www.theverge.com/2018/11/1/18051974/gallium-nitride-anker-material-silicon-semiconductor-energy <comment><AUTHOR> Earlier this week I saw an ad for a very, very small power supply rated at 45W [0] and I thought it was a scam, but upon research it turns out there is a major paradigm shift delivered via chemistry in both passive and active electrical components developing.

This is not a promotion for the device, mind you. Just that we're abut to see a ton of demonstrably _better_ electronics enter the market.

This has major implications for a lot of things, including much more efficient data center design and much more compact SBCs and phones.

[0]: [https://www.ravpower.com/p/ravpower-45w-type-c-pd-wall- charg...](https://www.ravpower.com/p/ravpower-45w-type-c-pd-wall-charger.html)

<comment><USER2> Yeah. I read a great dead tree article (Probably Bob Pease) that pointed out that the heat dissipation in power supplies is proportional to inefficiency not efficiency. If you got from 90% efficient to 95% your required heat dissipation is cut in half. The other metric is transformer size drops radically with increasing frequency.

There is a wall where higher switching speed runs into the turn on/off time of the power transistor. Efficiency drops and the power transistors get too hot.

These devices are moving that wall to ever higher frequencies. Being able to run hotter and faster means much smaller power supplies.</comment></comment>


New global index exposes 'modern slavery' worldwide - <AUTHOR> http://www.bbc.co.uk/news/world-24560937

<comment><USER2> I looked at their FAQ but even with their answer to "How did the researchers define modern slavery when they were estimating prevalence country by country?" I cannot parse if they should count people in US Prisons that are forced to work on things like license plates and cleaning beaches of oil spills (among other things.)[1]

I wonder what the US ranking would be then.

[1] [http://www.globalresearch.ca/the-prison-industry-in-the- unit...](http://www.globalresearch.ca/the-prison-industry-in-the-united- states-big-business-or-a-new-form-of-slavery) Any linguistic-types care to have a shot?

(Sorry if this is construed as an anti-US post. It was just something that stood out to me since I read that article recently)

<comment><USER3> _'Slavery' refers to the condition of treating another person as if they were property – something to be bought, sold, traded or even destroyed._

Prisoners in the US aren't treated as property. Not to say they aren't _mis_ treated, but they're generally not considered to be a commodity.

<comment><USER2> I am not entirely sure.

Some of the quotes like: "there won't be any transportation costs; we're offering you competitive prison labor (here)."

Private prisons and opening of new prisons in counties so that they can get prisoners assigned to them and a "share of the profits" undermines that stance somewhat in my mind.

It is tricky because there are aspects of their situations which match the list of "slavery" factors but are because they are convicted criminals serving their sentences so should be discounted.

It is the splitting of punishment for crime vs coerced labour which is difficult.

</comment></comment></comment><comment><USER4> Does anyone know where I can find details, or a good article, about all of these slaves in India and Pakistan?

edit: the report itself lists the details.

 _Bonded labour is the greatest problem in Pakistan. The Asian Development Bank estimates that 1.8 million people are bonded labourers, though many NGOs place the estimate much higher._

 _India exhibits the full spectrum of different forms of modern slavery, from severe forms of inter-generational bonded labour across various industries to the worst forms of child labour, commercial sexual exploitation, and forced and servile marriage._

<comment><USER5> Al Jazeera also did a series on modern slavery ([http://www.aljazeera.com/programmes/slaverya21stcenturyevil/](http://www.aljazeera.com/programmes/slaverya21stcenturyevil/)). The Bonded Slaves episode covers Pakistan and the use of slaves in brick kiln factories. If you're outside the U.S. you can watch it online (from their site or on their YouTube channel). If anyone inside the U.S. wants to watch it, then I'm afraid you're out of luck since we lost online access when Al Jazeera America launched.

<comment><USER6> > Al Jazeera also did a series on modern slavery

Doesn't look like they include the slaves held in Qatar. Al Jazeera has also been very light on what's been uncovered about the Doha World Cup and everything related to that.

</comment></comment></comment><comment><USER7> Summary:

\- New index shows that nearly 30M people around the world are living as slaves

\- India has the highest number (14M)

\- Mauritania has highest % (4%)

\- index was compiled by (Aussie) rights org WFF (Walk Free Foundation)

\- WFF's estimate of 29.8 million slaves worldwide is higher than other attempts

\- Another org, "International Labour Organisation" previously estimated 21M

\- India, China, Pakistan and Nigeria have highest numbers and account for 3/4 of slavery

\- Wikipedia Article on Present Day Slavery: [http://en.wikipedia.org/wiki/Slavery#Present_day](http://en.wikipedia.org/wiki/Slavery#Present_day)

<comment><USER8> _" India, China, Pakistan and Nigeria have highest numbers"_

That part isn't that surprising as they are #1, #2, #6, and #7 on the population count scale ([http://en.wikipedia.org/wiki/List_of_countries_by_population](http://en.wikipedia.org/wiki/List_of_countries_by_population))

#3, #4, and #5 are the USA, Indonesia, and Brazil.

The USA and Brazil is way richer in GDP per capita than Pakistan and Nigeria, Indonesia about 40% richer.

I guesstimate that explains why they rank lower on the absolute numbers slavery scale.

</comment></comment><comment><USER9> Of course it is in the researchers best interest to produce a report with as high as possible slave count...

These kinds of reports, which places a definitive number I always take with a pound of salt.

<comment><USER10> Umm, how is it in their best interest to show higher number exactly?

And wrt the definitive number - "Mrs Clinton said that although the index was not perfect, it provided a starting point, according to the Associated Press."

<comment><USER11> They're an organization that works to end slavery. They're also trying to raise $100m towards their efforts. The bigger they can make the issue, the more support they'll garner.

[http://www.prnewswire.com/news-releases/100-million- freedom-...](http://www.prnewswire.com/news-releases/100-million-freedom-fund- to-combat-modern-day-slavery-225397722.html)

</comment></comment></comment><comment><USER12> Googles Cache of globalslaveryindex.org is a GoDaddy place holder -_-

Also during the trans-atlantic slave trade, around 13 million slaves were estimated. These estimates would amount to around the same without India (and we have much larger population today).

</comment><comment><AUTHOR> The Irony is that most of the slaves of Pakistan and India are shipped to Gulf to work on infrastructure projects with very harsh living conditions and less to no pay. I am baffled that there is no mention of countries like Saudi Arabia, Qatar.

</comment><comment><USER13> I took a look at the comments and people still seem to be blaming Europeans for the entirety of slavery, which is ironic considering that they were the first ones to abolish it.

</comment><comment><USER14> Based on title, I thought it was about mortgages...

</comment><comment><USER3> [http://www.globalslaveryindex.org/](http://www.globalslaveryindex.org/)

This is the site it references, and probably would have been the better link. It's pretty to look at, but it's not particularly informative if you're looking for a mildly detailed breakdown of what's going on.

They have a faq section which describes what they mean by slavery.</comment>


A Response to "Why Most Unit Testing Is Waste" - <AUTHOR> http://henrikwarne.com/2014/09/04/a-response-to-why-most-unit-testing-is-waste/

<comment><USER2> Yes, both are useful unless one starts insisting that "but you have to write them first to drive your design or you will fail, man!".</comment>


Reasons not to use Apple - <AUTHOR> https://stallman.org/apple.html <comment><USER2> "I can't sympathize much with those app developers, since they are making proprietary software. They all deserve to fail. However, that doesn't excuse the way Apple treats them."

This is one of the first things I read on this page.

This kind of uncompromising, unsympathetic view makes me think less that Stallman stands for something valuable, and more that he wants to use his principles to be a dick.

I mean, I get it, it's Stallman. He always has a few nuggets of insight, wrapped up in page upon page of pontification. But "they deserve to fail"?

The other thing that gets me is how muddled his political views end up being. Like this bit, "Apple is culpable if its products are made by people working a longer workweek than is allowed in the US." Really? They _are_ culpable? Or you think they should be? China's a sovereign nation, it can set its own rules, but that's worth discussing and not just making some blanket assertion.

And, for someone who tends to play so pedantic, I'm surprised he's claiming that "the mere practice of referring to service staff as "geniuses" is dishonest already" without actually assessing whether Apple has only hired geniuses for its stores.

Last..."iBad"? Where's the eyes-rolling emoticon?

<comment><USER3> > This kind of uncompromising, unsympathetic view makes me think less that > Stallman stands for something valuable, and more that he wants to use his > principles to be a dick.

Stallman is at war, and there are casualties in war. He probably feels that the ends justify the means.

<comment><USER2> If Stallman's at war, then this attack is, to quote Terry Pratchett, "right down at the bottom end of the scale that things like the Charge of the Light Brigade are at the top of."

</comment></comment></comment><comment><USER4> > I can't sympathize much with those app developers, since they are making > proprietary software. They all deserve to fail.

What a shitty, shitty attitude.

<comment><USER5> Apple has made it impossible to ship GPL'd Free Software to iOS devices. I'd say they _started_ the 'shitty attitude' war.

<comment><USER6> Or maybe they just talked to no-nonsense lawyers that don't just have an agenda of pushing forward the GPL.

<comment><USER5> I don't understand your comment. Apple designed their distribution system in such a way that it precludes shipping GPLd apps. What does that have to do with lawyers?

</comment></comment></comment></comment><comment><USER7> In an ideal world these criticisms would be relevant. The reality is, most people who buy computers aren't RMS, they won't be able to build and support their own stack. These consumers own their computing devices in much the same way as a Nintendo GameBoy or a Thermomix; his principles are contextually irrelevant for anyone looking to purchase a tool to access Facebook.

Most of his reasons fall away when you consider the product an appliance rather than a computer. Heck, I'm a computer programmer and _I treat my smartphone as an appliance._ It makes me wonder how seriously RMS takes his stance. Does he refuse to drive any modern vehicle with an ECU? Does he refuse to refrigerate his milk in any modern fridge with a microcontroller?

<comment><USER8> At the HOPE conference last month, Stallman said he would on occasion borrow a stranger's smartphone should he be in a public place and need to make a phone call.

<comment><USER9> He also called people who don't agree with his stance fools, and said that he holds them in contempt. I guess that doesn't extend to refusing, on principle, to get the benefit of contemptible foolishness when he finds it useful to do so.

<comment><USER10> is it wrong to call a fool a fool?

<comment><USER7> It's not a question of wrong, it a question of productive.

</comment></comment></comment></comment></comment><comment><USER11> I think he has a point in many things. But sadly, he also criticizes every alternative like Google, Microsoft and even some linux distros. It's scary but every day we are closer to the future he has told. I bet that in some years we will be thinking why didn't we listened to him.

<comment><USER12> Who's "we"? Honestly even after Snowden and the rest the amount of people who really care about privacy and software freedom is tiny, even among technologists and programmers. Most people stop when they realize being "free" means barely using anything, for better or for worse.

<comment><USER13> You had James Bamford writing about phone call monitoring 40 years ago in Puzzle Palace. Nobody cared. You had Cypherpunks on the cover of Wired wearing masks with their PGP key IDs and saying encrypt all your emails. Nobody cared. You had the EFF compromising with the Clinton I administration on Clipper and key escrow. Nobody cared.

People of a certain age have discovered the value in ephemeral services after Facebook and other services with long memories have proven to potentially cache embarrassing posts for future employers but there's no cyber utopia with anonymous communication empowered by a vetted web of trust because nobody cares. Just snapchats you hope the recipient doesn't capture.

<comment><USER14> > You had the EFF compromising with the Clinton I administration on Clipper > and key escrow. Nobody cared.

Are you sure you're not thinking of CALEA?

<comment><USER13> I just remember at the time being shocked that the EFF had endorsed a compromise but no longer remember the details. I'll have to google for it and see if I can find it now.

<comment><USER14> There was a compromise around CALEA which was one of the precipitating factors in EFF's split into CDT and EFF. As an EFF member during the early Crypto Wars and a staff member since just before September 11, I'd be surprised to hear about a compromise on Clipper; I haven't heard any of the 1990s-era employees mention such a thing.

</comment></comment></comment></comment></comment></comment><comment><USER15> His constant distain for anything not GPL'd is rather off-putting, and won't be winning over anyone with the constant derision with comments like "deserve to fail", "iBad" and "iThings".

Really, Stallman? Is this the best that he can do? It reads like some angsty teenage, knee-jerk Apple hater bullshit that's reminiscent of the late 90's.

</comment><comment><USER16> Stallman has done a great service to OSS. However his personality and stances might be detrimental. I happened to meet him around 12 years back and that meeting turned me away from associating with anything which he is involved. I was helping organize the biggest software event in India and as a part of that we had invited him to speak. I was responsible for his arrangements and he was very rude to me throughout. He kept making fun of me because of my accent (which apparently was sufficient to get a leadership role in US at one of the Fortune 15 companies). Needless to say it was very childish and a complete turnoff.

</comment><comment><USER17> Done deal. GNU Hurd FTW. Will post a follow up from my new Hurd workstation.

Edit: never really got the display and network cards to work, stuck with my Mac for now

</comment><comment><USER10> "It should be illegal to make or distribute computers which are platforms for censorship."

Stallman understands the consequences of these things in a way that most humans are blind to. I am so glad that someone as high profile as him has the guts to stand up and persistently deliver the same message, maybe someday everyone will wake up and figure out they've been paving the road to hell before it's too late (if it's not already..)

</comment><comment><USER18> Remember: This is Stallman's opinion. If you share his point of view that the rights of the user should be valued above the rights of the programmer and the corporation, then this is the rant for you.

But if you don't; if you value convenience, maximizing profits, and minimizing development effort, then this will probably annoy you.

</comment><comment><USER19> I donate to the FSF (and favor the GPL) in spite of Stallman. I like what me means, but tend to dislike how he says almost everything.

I've been quietly hoping that a more personable figurehead for the free software movement might emerge for some time.

<comment><USER20> That was Linus, and also ESR before he went batshit insane

</comment></comment><comment><USER20> Stallman sticks to his principals, and I can admire him for that. But he's actually outright unpleasant to be around, because he's facist about his ideals in a way that most of us cannot or do not want to be. I get that he's against proprietary software, but calling John Ousterhout a cancer while licking his foot? It's not winning people over.

The EFF and Mozilla have done more for Stallman's cause than Stallman ever did. ESR got this one right.

Jeez. I never thought I'd say ESR was right about something that wasn't a piece of code. I guess a broken clock really is right twice a day.

<comment><USER21> Stallman has done a great deal of work to move the Overton window [1] in a direction that makes it much easier for EFF and Mozilla to operate, not to mention provided them with the FOSS tools they depend on every day. If Stallman had never existed, Microsoft might have moved the Overton window in the opposite direction and ESR would have sounded too radical for anyone to take seriously.

As long as these other people are winning over more people than Stallman is losing, I'd say Stallman is still making a positive contribution to the world.

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

<comment><USER20> Well, that's one of the the reasons I can't hate stallman. I'm an emacs user: I'd be talking out both sides of my mouth if I wished he didn't exist.

OTOH, gpsd...

For Rainer's sake, 1) Emacs might not have existed in the first place if it weren't for Stallman, and 2) I use GNU emacs more often then not.

</comment></comment></comment><comment><USER22> I use Apple Macintosh because, despite the various bugs, it is an outstanding operating system and works extremely well and is built on Unix. Ive followed operating systems closely for more then 30 years and frankly no company or open source effort managed to make anything as good as OSX in a whole range of ways.

I don't care much about principles - Apple made the best OS so I use it. If you want me to use something else then it has to be at least as good.

</comment><comment><USER23> Richardo Stallmanu - the quintessential /g/entleman incarnate, no? But hey, here we are talking about him.

<comment><USER20> Having seen some of the worst of /g/, you're right, he fits right in. And because it has nonfree software in the repos, and doesn't run linux-libre by default, he already hates Arch.

<comment><USER24> You hadn't been around /g/ long enough then. Too much discussion about non- libre software/hardware. I believe he even responded to an email once calling it an "inane place devoid of any meaningful conversations". Or something along those lines...

Due to the "I should be able to do whatever I want with my computer" crowd being a large part of /g/ though, many people agree with what he says. The user should basically be treated as a god - and not be put under limitations to modify the code running on their computer.

It also helps he has a pretty strong track record of being right. Even if his being right isn't recognized until years after the fact.

<comment><USER20> The one thing he's consistantly wrong about is that it is acceptable to run a full free-software system RIGHT NOW. For most of us, it would be awkward at best, impossible at worse.

It's still better than it used to be...

</comment></comment></comment></comment><comment><USER25> On one hand, I like that Stallman is opinionated and forward about his politics and how we wants the world to work. So many people are silent or inactive about the things they care about, wishing for people at large to just change. You ruffle some feathers when you open up and say what's on your mind, but hopefully after enough rational argument, you come off better and with a better message.

On the other, I don't really like everything he says, despite being a pretty firm OSS supporter. He conflates so much with open source it's nauseating. People choose a license for all kinds of reasons and I understand he's a cheerleader, I am too, but conflating everything hurts open source as much as it hurts proprietary actors.

It's a market. Some people will want to buy your product because they see its open nature as a benefit they are willing to pay more for, others don't care and will not pay more. The same goes for privacy promises, DRM or which devices you support, the color etc. If people buy or sell things that you would rather not, that's cool. Pointing out that everyone at every level of a proprietary agreement is _duped_ by some nefarious puppet-master and the entire machine should fail is childish. Furthermore, throwing in things like economics and employment fairness into the mix really confuses the message to the determent of OSS developers. In like kind, I may be a vegetarian, but PETA certainly doesn't speak for me.

I realize he thinks the current market is trash and slight deviations from the status quo won't bring real change, but most people just don't care enough about what many of us care about. That's the hard truth. Slinging mud and building straw-men isn't how we fix this problem. It just makes OSS proponents look out of touch.

Also, some people commented on his sometimes hypocritical impurity. eg. making phone calls on locked down phones and using closed source websites occasionally. Being OSS pure in 2016 is crazy hard and getting harder, again due to market forces. I think there's a lot to fault Stallman on, but his deviation from OSS purity is not one of them.

</comment><comment><USER22> It's really hard to get on board with such extreme opinions.

</comment><comment><USER26> This is what you would expect from Stallman. He's extremely smart guy, but such categorical position makes it impossible to agree with him for utilitarian reasons. I don't wanna to restrict my comfort just to prove a point. Besides, we are all under surveillance regardless.

</comment><comment><USER27> Here's a shorter list: ~3x the cost for nearly the same thing you can get from Samsung.

</comment><comment><USER28> I would pay Real Money for viable alternatives that respect my time and attention and don't fuck up my life.

Nobody has built any, sadly.

</comment><comment><USER29> Hey, not a big surprise to see this on stallman.org, but I thought I'd drop in to mention Apple created ALAC (which is basically FLAC, just with lock-in), which when I first discovered it, found to be a pretty egregious example.

<comment><USER7> ...except that Apple ALAC is Free Software released under the Apache License.

And it's no more similar to FLAC than any other lossless audio codec.

It's widely believed that Apple chose to build their codec rather than simply implement FLAC because their goal was to optimise for maximum battery life efficiency on the iPod. (No such optimisations have been open sourced by Apple, but that doesn't in any way imply their non-existence.)

</comment></comment><comment><USER30> iThings? iBad? Was this written by a 19 year old edgelord? Does he write Microsoft as "M$", too?

</comment><comment><USER31> Rehashing 2012?</comment>


Alloy is an open source language and analyzer for software modeling - <AUTHOR> http://alloytools.org/ <comment><USER2> Does anyone know how this compares to TLA+?

Pros, cons, differences?

<comment><USER3> Alloy comes from the Z line of "systems are basically giant relational algebra problems", while TLA+ comes from the LTL line of "systems are basically giant temporal logic problems", which leads to a lot of fundamental differences between them. They also had different design philosophies: Jackson wanted a language that was easy to build tooling for, Lamport wanted a language that was easy to express complex logic in.

One consequence of this is that Alloy is a much smaller language: you can fit the entire syntax on a single sheet. It's also much easier in TLA+ to write a spec that you can't model-check, while with Alloy you have to be actively trying. It's also impossible to write an unbound model in Alloy, so you're guaranteed that every spec is over a finite state space. Which gets rid of the common TLA+ runtime problem of "is this taking a long time because it's a big state space or because it's an infinite state space".

Re tooling: Alloy converts to SAT, which makes model checking much, much faster. Specs that would take minutes to check in TLA+ take less than a second in Alloy. Being able to model-find as well as model-check is really nice, as is the ability to generate multiple counter/examples. The visualizer is really useful, too, especially for showing counterexamples to nontech folk. But the thing I honestly miss most when working in TLA+ is the REPL. It's not the best REPL, but it's a hell of a lot better than no REPL.

Okay, so drawbacks: Alloy doesn't have an inbuilt notion of time. You have to add it in as a sequence sig. This means you can't study liveness properties or deadlocks or anything like that. It also makes simulating concurrency awkward. This isn't a huge problem if you have simple interactions or only one structure that's changing, but the more "timelike" the problem gets, the worse Alloy becomes at handling it.

Less fundamental but still a big problem I keep having: no good iteration or recursion. Transitive closure is pretty nice but it's not powerful enough. For example:

        sig node {edge: set Node}

Is N1 connected to N2? Easy, just do `N1 in N2^.edge`. Through which nodes does N1 connect to N2? That's much harder.

The biggest problem with Alloy adoption, though, is social: there's no comprehensive online documentation. If you want to learn it you have to buy _Software Abstractions_. Fantastic book but not something that's especially convenient, and it doesn't cover newer features. We're working on changing this, but it will be a while before we have comprehensive online documentation available.

Which one is more appropriate to use really depends on your problem. As a very, very, VERY rough rule of thumb: TLA+ is best you're most interested in the dynamics of a system: the algorithms, the concurrency, etc. Alloy is best when you're most interested in the statics of a system: the requirements, the data relationships, the ontology, etc. My standard demos for showcasing TLA+ are concurrent transfers and trading platforms, while my standard demos for Alloy are access policies and itemized billing. You can use each in the other's niche, too (see Zave's work on Chord), so it's not a stark division.

<comment><USER4> This largely sums up my experience with Alloy and TLA+, as well as when I favor using one tool over the other. My formal education included classes in Z, so the spirit of Alloy always made sense to me and it's usually the tool I start with (I tend to see systems problems as relations, the tooling is fantastic, the REPL is very useful, counter-examples help illuminate the problem space, etc.) When my problem is strictly algorithmic or it's all about the evolution of state spaces over time (especially concurrent states over time), I lean towards TLA+.

When my problem is strictly a state machine, I usually write out some combination of a Parnas table and a statechart, and then encode the table into Alloy.

I have a little tutorial I use to teach teammates the basics of TLA+ and Alloy, which takes about two hours to get through. I find that within a week of using Alloy, folks are dangerous enough to get value out of it.

<comment><USER5> Is the "little tutorial" available somewhere? I'd be interested in working through it.

</comment></comment></comment></comment><comment><USER6> It looks pretty impressive, but I'm struggling to find the practical problem it solves. Lots of jargon, eg "constraint language for modelling data structures". How will that practically help making development easier / better / more secure?

It does bring a bit of a flashback to the GoF / UML craze of the 90es. UML supports visual constraint modelling, abstract state machines etc. The academic's wet dream was being able to generate code from these abstractions to any language.

<comment><USER3> The big difference between Alloy and mainstream UML is that Alloy can check if your model has properties your want, and if not general a counterexample.

A couple use cases for this:

1\. You're writing an access control policy feature. There are many different moving parts to it: you can assign policies to individuals or user roles, some resources can inherit policies from parent resources, some policies can have multiple conditions, etc. Is there some weird feature interaction that lets somebody see a resource they shouldn't?

2\. You're modeling an invoice. Every invoice has a number of items, each item has a supplier. Some items may correspond to their own invoice the supplier is paying, with its own line items. Its possible for you to pay for an item by supplier S that corresponds to an invoice where they pay you. Also two suppliers may be able to supply the same item and have different invoices for that item. Does your model of this have any insane edge cases you should be worried about?

</comment></comment><comment><USER7> My senior thesis was writing a transpiler from Alloy to SMT-Lib. I attended the Future of Alloy workshop with my advisor. Very intelligent, passionate group of people who care a lot about the language. I believe that its current primary use case is in education -- I remember one attendee described using the language to teach high school students first-order logic -- but its community hopes to further its use in industry as well.

</comment><comment><USER8> I tried and failed to learn Alloy, the documentation is too mathematically dense for me, even though I suspect the concepts aren't difficult for a working programmer. Any tips on prerequisite knowledge are appreciated.

</comment><comment><USER9> Is there a minimal example showing automatically created compile-able code from a model, or a process to do that?

<comment><USER10> [http://alloytools.org/faq/can_you_print_or_capture_the_diagr...](http://alloytools.org/faq/can_you_print_or_capture_the_diagram_generated_by_the_alloy_visualizer.html)

Likewise I searched in vain for one of these diagrams. It sounds interesting but the 'GUI' is just two text windows and a toolbar that look straight out of 1996 which doesn't bode well.

<comment><USER11> Those diagrams are of data structures, not algorithms. Here's an example: [http://alloytools.org/quickguide/vizview.html](http://alloytools.org/quickguide/vizview.html)

<comment><USER10> I mean, the first question in the FAQ is about those diagrams so maybe it should include an example of one? Usually when I'm evaluating a new project I am not so interested in figuring out what it can do if that isn't clearly communicated up front.</comment></comment></comment></comment>


Mongrel2 1.0beta4 Out, 1.0 Is Nigh - <AUTHOR> http://sheddingbikes.com/posts/1282985871.html

<comment><USER2> Web scale dev/null is going to revolutionize sharding.

<comment><USER3> Can you explain what web scale /dev/null means?

<comment><USER4> Zed cites the rationale for web scale /dev/null (<http://www.xtranormal.com/watch/6995033/>).

To thoroughly kill the joke, the idea is that you can write really fast software by writing your output to /dev/null (vs. disk) which basically makes write a NOP. Of course, it's completely useless in practice :)

web scale and sharding are just two other overused terms from the cited video (making fun of NoSQL fanboys).

</comment></comment></comment><comment><USER5> I've seen this come up a few times, and benerved myself to ask the really stupid question: what is this for? Why am I supposed to want a process boundary between my HTTP stack and my applications, instead of running them inproc with mod_whatever? If it's a load balancer, how is it better than using a NAT to forward TCP streams and letting the app servers handle HTTP?

<comment><USER6> For one thing, mod_whatever may not exist for whatever hot new language you want to use. ZeroMQ already has bindings for most languages people might want to use (including weird ones) and there are only like 16 C functions plus some constant declarations, so bindings are easy to make. And once you have ZeroMQ support, Mongrel2 can talk to you. That may not be a killer feature for you, but it's really nice.

Plus, everything in the design of Mongrel2 just seems to make sense. I'm not sure how to describe it; Mongrel2 smells good.

</comment></comment><comment><AUTHOR> This is looking pretty good so far. Anyone know if you can do a weight round- robin scheme with this? If I treat every server the same the smaller ones would get flooded in no time.

<comment><USER7> If you mean for the proxying, not yet. For the 0MQ handlers it definitely does, but some folks also want to do blocking before sending to the backends.

We've basically laid down the core features and then we'll start planning things like this. Page caching, different proxy backend schemes, filters, handlers, etc.</comment></comment>


Kicked Off Facebook, Kid Creates Own Social Network - <AUTHOR> http://www.livescience.com/25928-kicked-off-facebook-grom-social.html <comment><USER2> That's some pretty impressive work for an 11 year old. I'm curious what kind of help he had.</comment>