What I Wish I Knew When Learning Haskell 2.0 - <AUTHOR> http://dev.stephendiehl.com/hask/#cabal <comment><USER2> One thing that helps alot is the various undergrad course syllabuses that have been given with emphasis on type systems and aspects of FP, immutability, segregating and strictly marking side effects etc.

[http://shuklan.com/haskell/](http://shuklan.com/haskell/)

[http://www.cs.tufts.edu/~kfisher/teaching.html](http://www.cs.tufts.edu/~kfisher/teaching.html)

[https://www.inf.ed.ac.uk/teaching/courses/inf1/fp/](https://www.inf.ed.ac.uk/teaching/courses/inf1/fp/) (P Wadler)

[http://www.cs.princeton.edu/~dpw/cos441-11/schedule.htm](http://www.cs.princeton.edu/~dpw/cos441-11/schedule.htm)

[http://blog.davidterei.com/2011/10/stanford-haskell- course.h...](http://blog.davidterei.com/2011/10/stanford-haskell-course.html)

[http://www.seas.upenn.edu/~cis194/](http://www.seas.upenn.edu/~cis194/)

________________

also the Apress "Beginning Haskell" looks pretty good, tho the writing isn't perfectly clear. The example topics and sample code look good, and that's what mostly counts.

[http://www.amazon.com/Beginning-Haskell-A-Project-Based- Appr...](http://www.amazon.com/Beginning-Haskell-A-Project-Based- Approach/dp/1430262508)

The books by Hutton and Simon Thompson ("Craft of FP" 3rd ed)are good intros as well. Haskell school of music is really good, but not sure for people who aren't versed in music topics (harmony/theory, composition, MIDI, DSP.

[http://www.amazon.com/Programming-Haskell-Graham- Hutton/dp/0...](http://www.amazon.com/Programming-Haskell-Graham- Hutton/dp/0521692695)

[http://haskell.cs.yale.edu/euterpea/haskell-school-of- music/](http://haskell.cs.yale.edu/euterpea/haskell-school-of-music/)

<comment><USER3> I want to highlight this particular course: [http://www.seas.upenn.edu/~cis194/](http://www.seas.upenn.edu/~cis194/)

It's _REALLY_ good and can be gone through quickly while still getting a feel for the "point" of Haskell.

</comment></comment><comment><USER4> I think it's kind of amusing that right after sternly warning the reader to avoid monad tutorials, he then proceeds to write a monad tutorial. I guess you just can't resist...

<comment><USER5> After I finally understood monads I thought about writing a tutorial. My thought process was "Well I understand it now, why couldn't someone have just _explained it this way_ ". Then I reevaluated and realized everyone has those thoughts. It's just a hard concept to grasp on the first try. One really just has to grind away and force themselves to use monads for a long enough time to really grok them.

<comment><USER6> I wouldn't call monads "hard to grasp" so much as "hard to explain" or "easy to obfuscate." That's what the "mumble mumble endofunctors" joke is getting at: sometimes they're a useful generalization, but more often they're a way to make easy things sound hard, or to make bad teachers sound smart.

<comment><USER7> I agree that they often make things seem harder then they really are. The monad tutorial that works best for me is the "don't mention monads" tutorial. Thats the one where you just show some specific task to complete, like composing (a -> Maybe b) functions, and show that there is a neat operator that does it. Then, at some future time, show another composition task, like composing (a -> [b]) functions, and show the same operator again.

Starting with the abstract just messes people up and gets them confused. You don't start throwing around Kleisli Arrows and endofunctors right off the bat.

</comment></comment></comment></comment><comment><AUTHOR> There's also a very detailed tutorial on writing a toy compiler with Haskell and LLVM on this site:

[http://www.stephendiehl.com/llvm/](http://www.stephendiehl.com/llvm/)

</comment><comment><USER8> On a small monitor (11" MBA), not all the topics in the list are visible and the list does not seem to be scrollable.

</comment><comment><USER9> Somehow related: For those who (like me) were searching for a long time for a quick and complete Haskell tutorial (but were left with very introductory guides for non-programmers like Learn You a Haskell for the Great Good), look at this tutorial:

[https://www.fpcomplete.com/school/to-infinity-and- beyond/pic...](https://www.fpcomplete.com/school/to-infinity-and-beyond/pick- of-the-week/haskell-fast-hard) Haskell Fast & Hard.

<comment><USER10> I reccomend LYAH even to programmers, there are enough things in the language that it makes sense to go slow at first.

I think beginners get lost because they try to go too fast at first and get impatient.

For example, see below about the guy who tried to do GPU programming early on and got frustrated.

<comment><USER9> Maybe you're right. I'll never know because I've read LYAH almost entirely before getting to HF&H.

</comment></comment></comment><comment><USER11> I thought this was supposed to be a list of things to learn _before_ learning Haskell but most of these are things you obviously have no idea what they are if you don't know at least a little Haskell.

</comment><comment><USER10> Note that these are intermediate level Haskell topics, as intro describes.

</comment><comment><USER12> This was very timely and interesting to me as I just started learning Haskell. Thanks!

</comment><comment><USER13> The main force holding me back from learning Haskell is the cryptic syntax. I totally understand that the type system is (supposed to be) superior to other languages but it simply make it really hard to find the time. I am also unsure how useful this language can be in every day use. There are so many great languages out there nowadays, Clojure, Go, Erlang. It is easy to cover the spectrum with these and I don't see where Haskell would be a better fit. maybe somebody could shed some light on the strengths of this ecosystem.

<comment><USER4> As to Haskell's syntax, I think it's really just as complicated as it needs to be to express the ideas Haskell embodies succinctly and precisely. It doesn't have any _more_ syntax than most other languages; it's just a very _different_ syntax than most non-functional languages. And this is precisely because the _semantics_ of the language are also very different. Haskell, for example, is not block-structured, as nearly all imperative languages are. (It does simulate this with do-syntax, but this is only a simulation). I understand though - I find Clojure practically unreadable, and this has kept me away from it to a degree.

As to where Haskell fits: you're correct, there are many other great languages out there. But I think Haskell is really unique in offering what it does. Clojure, Go, and Erlang are all great in their own regard, but none of them provides the degree of safety that Haskell does. For example, none of them enforce purity, and all three of them freely allow the use of `null` values (which is really quite surprising considering how many problems nulls cause). Clojure and Erlang avoid mutable state like Haskell does (though not to the same degree of rigor) but don't provide the elegant solutions for simulating mutable state that Haskell does with its monads, which _almost_ allow you to "have your cake and eat it too" with state. None of them encourage the degree of abstraction that you'll find in Haskell. Also, at least according to the Computer Benchmark game, Haskell beats all three of them in terms of speed, as well. Haskell's "place" is in generating highly robust code with good performance, and also works as a beautiful language for expressing certain mathematical concepts.

This doesn't make Haskell a perfect language, but it absolutely has a lot to offer that other languages don't. And it's so much _different_ than other languages, that at the very least it can change your perspective on a lot of things.

<comment><USER10> I think one has to be careful about performance claims.

Of course you _can_ tweak things to be fast in hakell, but to be able to actually program haskell in such a way to, beat other languages in performance, is not a trivial skill.

There are numerous stackoverflow and r/haskell posts "Why is my haskell code 10x times slower than language X?" Or observe this set of web framework benchmarks: [http://www.techempower.com/benchmarks/](http://www.techempower.com/benchmarks/)

<comment><USER14> _Of course you can tweak things to be fast in hakell, but to be able to actually program haskell in such a way to, beat other languages in performance, is not a trivial skill._

It actually is trivial in a lot of cases. It's often as simple as swapping out lists for vectors and inserting a few strictness annotations into your types.

<comment><USER15> ...and using the ST monad. In the end it pretty much ends up looking like an imperative program.

The good news is that it stops at the function boundaries. Your quicksort may be implemented in the ST monad, looking like some bastard child of C, but the function type ends up being

      qsort :: Ord a => Vector a -> Vector a

And that's one of the likeable properties of Haskell: it doesn't deny that real-world programs sometimes require mutability, but allow you to isolate it through the type system. So, even though _qsort_ may use mutable memory for sorting, it is a pure and referentially transparent function.

</comment></comment></comment></comment></comment><comment><USER16> Haskell's a good language, but I would add to this list the use cases as to where Haskell is the right tool for the job. I think this would help a lot beginners get a better grasp of Haskell.

For example, I wouldn't tell someone to write a web server backend in Haskell if it's going to be in production. Sure, you can do it, but there are more adequate tools for the job. On the other hand, if you were looking to create a DSL or write a parser, Haskell would be great. This is how Galois and Facebook are taking advantage of Haskell.

<comment><USER17> Why wouldn't you write a web server backend in Haskell? What is more adequate than Haskell for web server backends and why?

You give no support to the claim that "There are more adequate tools than Haskell for writing web server backends".

<comment><USER16> The JVM, for one. The JVM far exceeds Haskell in this regard. Superior libraries and equal if not better performance. I didn't say you couldn't, but for production purposes if I had to choose.

<comment><USER17> Define superior. Making such bold claims without any proof/examples is very poor form.

<comment><USER15> Superior is indeed difficult to define. I think most Haskell libraries define far more elegant abstractions than their Java counterparts.

However, as a user of both Haskell and the JVM, there are some things to be said for the Java library ecosystem. For instance, the most widely-used Java libraries are often more mature, maintained better (usually because its authors are paid to do so), and more API-stable (for most of my Haskell code, a dependency version bump usually implies updating my own code). Of course, this is all reasonable, since the Haskell ecosystem exploded far more recently than Java's. The older Haskell pages (bytestring, text, vector) tend to be very stable and predictable.

Another aspect where the JVM is currently ahead is VM monitoring. E.g. if there is a bottleneck, I can easily attach Visual VM or even my IDE to a running Tomcat and peek around. The JVM can do code hotswap (even more effectively with JRebel and LiveRebel).

Note: I posted this to provide some balance to the discussion. I believe Haskell is superior in many other respects, such as the type system, REPL- driven development, web frameworks with type-safe URLSs, etc.</comment></comment></comment></comment></comment>


String theory is finally testable to some extent? - <AUTHOR> http://www.wired.com/wiredscience/2010/09/stringy-quantum/

<comment><USER2> This isn't really a test of string theory. It's just applying equations that look like string theory to a different domain. From the article:

"Duff emphasized that this is only a test of string theory as it relates to quantum entanglement, not as a description of the fundamental physics of the universe."

<comment><AUTHOR> I thought that if it was FALSIFIED in this context, it would be falsified in general. Of course, the other way wouldn't prove that string theory works for anything except that particular case.

But even that I think might be inaccurate: <http://www.math.columbia.edu/~woit/wordpress/?p=3127>

</comment></comment><comment><USER3> Original paper available here: <http://arXiv.org/pdf/1005.4915>

<comment><USER4> thank you.

</comment></comment><comment><USER4> maybe it's because it's late, because i'm cranky, or because i'm feeling elitist.

but i'm not going to read an opinion about physics on wired.com

i've got to have some scientific standards, right?

edit: ahahaha, i go to the link actually. LOOK THEY ILLUSTRATED STRING THEORY WITH YARN. GET IT? GET IT?

and the article doesn't say much more than the headline. oh well.</comment>


DuckDuckGo: To apply, first do some work for free.  Is this ethical practice? - <AUTHOR> https://duck.co/help/company/hiring

<comment><AUTHOR> My opinion: Though I do respect the company so far, I view this as a negative requirement. I tried to frame the question so as to not prime everyone for a negative perception.

I've seen applications that require you to go through some challenge(s) before you can submit an application. I don't necessarily see that as a negative because it can be used to measure a real example of an applicants skill (assuming they legitimately solved it).

I've also had the impression that Mozilla, for example, wants you to have a history of open-source work, especially on Mozilla products. If this is an expectation, I don't necessarily see this as a bad thing because they are not a for-profit organization.

I understand the challenges DuckDuckGo must be facing to establish a sustainable business model while maintaining a commitment to user privacy. However, they are still a for-profit company, and this requirement in the application process seems to do little to demonstrate an applicant's skill, but instead it directly benefits DuckDuckGo financially because it increases the power of their product, at the sole expense of the applicant who I imagine is very unlikely to get hired, considering the popularity of their website versus the size of their team.

This turned me off from applying to the company, even though I'd love to work with them. A quality job search already requires so much time, and I don't want to do work for free when I know it's probably a long-shot from being hired anyway. That factor is compounded when the want you to just be a contractor for a few months at first and then decide whether they actually want to hire you.

I was curious as to how the HN community views this practice in general. If you view this as ethical, then do you view it as a "good" practice, or something that's likely to dissuade quality applicants?

<comment><USER2> >> A quality job search already requires so much time, and I don't want to do work for free when I know it's probably a long-shot from being hired anyway.

\- I agree that a quality job search requires a lot of time ( -creating your resume, -tailored cover letter, -getting your resume into company x system, getting your resume noticed, researching the company, researching the product, interview prep, the interview process, waiting for the decision, ... )

>> This turned me off from applying to the company, even though I'd love to work with them.

ALL of the above noted job search items, are an investment on your behalf, with absolutely NO guarantee of any return

IF you were "truly" interested in working for ddg ( the product, the company)

WHY would you not want to consider something like this?

YES you are investing a certain amount of your time without any guarantee (just like you would to apply to any company)

BUT if the time you invested contributes to making a product that you use and love, BETTER, how is that NOT still a win/win situation?

AND if you do get hired, well SCORE for you!

DISCLAIMER: I have no duck in this race(aka affiliation with DDG) but i do think this is a potentially awesome idea (depending on their execution).

TLDR: YES i think it has te potential to be both a good practice and ethical, assuming that the company demonstrates some level of transparency in its processes.

EDIT: formatting

<comment><AUTHOR> I have an interest in many things, especially privacy. I've used DDG primarily for years (even before the NSA leaks). I do like the idea of improving the product, but as another commenter pointed out, one can have many passions with much more limited time.

While applying for a job doesn't guarantee a return like you said, it's necessary investment so that companies can pick the best fit. This extra requirement, working on their platform to directly improve their service with no compensation before you can even apply, is what I view as bad practice. People can be deeply interested in something without having already directly contributed to it.

Would you view this in the same way if Google started adopting this process?

<comment><USER2> When i submit a "resume, coverletter, interview answers, ..." all of my personal info(PI) goes into a black hole at company {X}. I don't know what they do with my PI, dont know how they determine who is a match and who is not, essentially I am giving up my time and my PI to a process I have 0 control over.

If I were to submit some "actual work" and that "work" was assessed and evaluated by {any} company in relation to others submitting "work" in what I believed to be a fair and open process, I don't think that I would have a problem using this process with any company.

</comment></comment></comment></comment><comment><USER3> I don't understand this process at all. Top-tier devs are in high demand and can find positions at highly-desirable companies quite quickly and easily. What top-tier dev is going to spend 1-3 months of their time doing this when they can get a comparable position elsewhere without the hassle? This could likely be tens of thousands of dollars of lost salary. Seems like this process would serve only to filter their applicant pool to the most desperate.

I don't see anything ethically wrong with this, but I can't imagine why anyone would do it.

<comment><USER4> Top-tier devs just give you skill and experience; that in itself doesn't give you passion.

What you consider an act of desperation, DuckDuckGo sees as an act of passion and strong interest. If a skilled developer values his time more than his passion, perhaps that isn't a good fit for DuckDuckGo.

Desperate people can apply, but they must be able to prove they have the technical capacity to deliver too. Which means they need to meet the calibre of developers who are in high demand, which means perhaps they aren't desperate?

This process doesn't look much different to participating in an open source project in your own time, and then after your contributions have been assessed a decision/invitation extended to be part of the Core Team. Except that invitation is also an employment contract with a salary.

<comment><USER5> You're assuming the programmer is dispassionate in all things asides from Duck Duck Go work.

</comment></comment></comment><comment><USER6> Quote from the page: _We 'll also ask a few of our own and assess whether there's a fit for a paid project or other next steps._

I went through this process. It's ethical IMO.

<comment><AUTHOR> I was mostly referring to creating an instant answer for their search engine before you can even submit an application.

Though the potential for continuing to work for free for a few months after that only compounds the problem in my opinion.

<comment><USER7> How much work is that? It sounds like something that might be a few hours of work, maybe? I haven't looked that closely at it.

Personally I'm totally okay with expecting a code sample. The best hiring process I've been through had me writing some trivial code in the employer's favourite framework (which required me to learn the basics of that framework), and then present my code to the programmers, who would ask questions and then (by email) vote. It was not code that would be used in production, but it was a great way to look at how people worked.

In the DuckDuckGo case, it looks like it might be something that would be used in production, which would make it a bit less ethical, as it would make it technically work for free.

<comment><AUTHOR> I agree. I think a few hours is a good estimate - once I saw that the instructions were starting to get complicated I said forget it.

</comment></comment></comment></comment><comment><USER8> From time to time a potential employer asks me to write some code _after_ my job interview.

When they do this, I don't call them back.

My view is that if they wanted to determine whether I have the chops, they should have determined that before they interviewed me. It's not as if they can't just look up my work in the trade press.</comment>


NeurIPS 2019 Notes [pdf] - <AUTHOR> https://david-abel.github.io/notes/neurips_2019.pdf <comment><USER2> I was just at NeurIPS (gave a spotlight talk in the session on online learning). TBH, NeurIPS gas grown too big for it's own good; this year there were 14,000 attendees. It's so big that they had to restrict access to some of the poster sessions due to overcrowding. It's become very difficult for junior researchers to find and talk to senior people, due to the sheer size of it all; honestly, it feels like an overcrowded science fair crossed with an industry expo. I much prefer AISTATS, which I attended this year in Okinawa, Japan. Much smaller, more accessible, and with more focus on disseminating scientific ideas, as it should be.

<comment><USER3> Probably also too many people are focused on a _solution_ , and not problems for specific domains. Learning more about deep learning is cool, but in practice, most problems in domains need domain expertise combined with more mundane models. This is particularly true when you need to rally domain experts help - folks able to understand logistic regression more easily than a complex deep learning model.

<comment><USER4> NeurIPS should be about fundamental science not about applied science and engineering solutions for specific domains.

Science vs applications would be actually a good way to divide NeurIPS into two conferences to get focus back: NeurIPS and Applied NeurIPS. One wold present science, the other tweaks, tricks and methods to solve everyday problems.

Papers like "Partially Encrypted Deep Learning using Functional Encryption", "Dancing to Music", "Differentiable Cloth Simulation for Inverse Problems" would go go the engineering conference for the "most people".

<comment><USER5> > Partially Encrypted Deep Learning using Functional Encryption

I don't agree about this one. It does seem fundamental science to me.

<comment><USER6> Encrypting deep learning is problem for practical applications that require privacy. That's applied science.

<comment><USER7> How do you suppose you're going to provide theoretical assurance of privacy and correctness without science?

<comment><USER6> Maybe I'm wrong but I see this as applied vs fundamental, not "without science" issue.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Interesting to see the growth of PyTorch [https://twitter.com/cHHillee/status/1195568939381776386](https://twitter.com/cHHillee/status/1195568939381776386)

<comment><USER9> Which bring so much software poverty... So many tasks have a state of the art accuracy only on tensorflow or only on pytorch. So now someone that actually care about accuracy must learn both frameworks instead of one but in practice, he will just not use the state of the art when not available which is just plain sad.

<comment><USER10> i understand why there would be differences wrt performance, ease of deployment, etc, but why would there be significant differences in model accuracy between tf and pyt? a matrix multiply is a matrix multiply, regardless of implementation...

<comment><USER11> The matrix multiplications should be the same (down to floating point accuracy limitations) but there might be very slight differences in how things like random dropout or stochastic gradient descent work in one framework versus the other.

</comment></comment></comment></comment><comment><USER12> Few more NeurIPS related link: [https://nulldata.substack.com/p/neurips-2019-edition](https://nulldata.substack.com/p/neurips-2019-edition)

</comment><comment><USER13> Website for searching NeurIPS papers: [https://neurips2019exploration.herokuapp.com/](https://neurips2019exploration.herokuapp.com/)

Not affiliated, just thought it was a helpful tool.

<comment><USER14> Not all papers are there. Seems like not all workshops posted their papers yet to NeurIPS Proceedings. E.g. none from Knowledge Representation workshop ([https://neurips.cc/Conferences/2019/Schedule?showEvent=13169](https://neurips.cc/Conferences/2019/Schedule?showEvent=13169) )

<comment><USER13> Any suggestions for an alternative way to search the papers?

</comment></comment></comment><comment><USER15> I didn't even realize the conference was happening until my gf complained about the attendants of some ai conf downtown. Didn't quite realize how big it was.

<comment><USER5> What did she complain about ?

<comment><USER16> Probably the number of hyperparameters

</comment></comment></comment><comment><USER17> Dave's a great guy for doing this. I like to peruse his notes just to see what he thought was important.

</comment><comment><USER18> Were there any videos people thought was particularly worth watching?

Is this the right list? [https://slideslive.com/neurips#!feed=popular](https://slideslive.com/neurips#!feed=popular)

<comment><USER12> Celeste Kidd's one was highly spoke about

<comment><USER19> Which? Her technical talk on how humans learn [1], or her keynote address on sexual harassment and the #metoo movement? As far as I know, only the latter got a standing ovation.

[1] [https://www.nips.cc/Conferences/2019/Schedule?showEvent=1548...](https://www.nips.cc/Conferences/2019/Schedule?showEvent=15483)

[2] [https://fortune.com/2019/12/09/sexual-harassment-issues- high...](https://fortune.com/2019/12/09/sexual-harassment-issues-highlighted- at-a-leading-a-i-conference/)

<comment><USER20> The same talk [1] covers both topics. Part of her point is that they're related via people forming false beliefs about accusations of harassment (particularly men believing that they're at much greater risk of being accused than they actually are).

[1] [https://slideslive.com/38921495/how-to- know](https://slideslive.com/38921495/how-to-know)</comment></comment></comment></comment>


Ions: Develop cloud applications by deploying to a running Datomic cluster - <AUTHOR> https://docs.datomic.com/cloud/ions/ions.html <comment><USER2> Can someone explain the benefits of Datomic Ions? What problems is it supposed to solve and how does it compare to existing solutions?

Also, what is the story regarding local development? (I also have this concern about AWS Lambda; it seems you can only realistically run code in the actual cloud environment)

We are investing heavily in the Clojure-ecosystem (but not yet Datomic). It seems Cognitect is strongly headed into a direction which involves some kind of holistic vision about a new stack, but they don't seem to explicitly communicate this vision anywhere.

Edit: I asked the above question also on Clojure Reddit and got an interesting response: [https://www.reddit.com/r/Clojure/comments/8p3d5s/datomic_ion...](https://www.reddit.com/r/Clojure/comments/8p3d5s/datomic_ions_your_app_on_datomic_cloud/e09dz9e/)

<comment><USER3> My take is that one of Datomic's original value props was that it ran in your Java app's process. That plus immutability plus cache-foo allowed you to write your Java app as-if your entire db was not only "in-memory", but "in-your- app's-process-memory." That is, um, "pretty dope".

Then they introduced Datomic Client, which is more of the "normal" db paradigm. Your app includes the client lib, which connects to the running db process "somewhere else". I don't know why they did this (easier to include?), but it meant that the "db-in-your-app-process" value prop went away.

Initially when they deployed Datamic Cloud (a sort of managed Datamic service deployed in AWS), they only supported the client model.

That is context for your question. The problem Ions solves is how to get that "db-in-your-app-process" value prop while using Datamic Cloud. It seems to me that it effectively reverses the original method. Original method was add the DB as a lib into your app, Ions method is push your app into the db (which is running in a configured-for-you cluster on AWS).

(It also allows you to not have to provision/configure servers to actually run your app code in addition to the db servers, but that seems secondary to me.)

Note, that I'm not affiliated with Cognitect, and I've never used Datamic, or Clojure in a production system. So have a salt shaker.

<comment><USER4> What is the diff between "in memory" and "in-your-app's-process-memory"?

<comment><USER5> An "in memory" DB is just a DB that can answer queries quickly (e.g. in O(1) time.) You still speak to it over a network protocol (even if it's going over the loopback interface), where everything gets serialized into long binary strings and then deserialized again. You can maybe achieve zero-copy access into the _packets_ the DB is sending you if the DB is communicating using something like Capn Proto, but that's still two copies of the data: one in your app process, and one in the DB process.

A database whose data is _in your process_ (like, say, BDB, or Erlang's ETS, and _not_ like SQLite†) allows you to hold _pointers_ to data (usually either "tuples" or "objects") that are in the DB, from your process, and treat them as if they were just regular data sitting on the stack/heap. Depending on the DB's persistence architecture, this can mean that you can even _mutate_ the data in object form, and that mutation will be automatically persisted—because what you're mutating is, after all, the DB's copy of the data. Unlike e.g. Firebase, there's no secondary synchronization between "your local" copy of an object and "the database's copy" of the object; your process is _holding_ the database's copy of the object.

Or, if you like, you can think of an "in-process-memory" database like a server in a distributed-RPC stack, ala CORBA or Windows COM. You ask the DB for an object, it gives you an RPC handle to the object. Except, since you and the COM server share memory, this handle doesn't need to do any marshalling or IPC or locking; it's an optimized-path "direct" handle.

Another potential path to enlightenment: if you create a "flat-file database" by just mmap(2)ing a file—and then you write structs into that file-backed memory, and keep pointers to those structs—then you've got an "in-process- memory database."

† SQLite _the library_ resides in your process's memory, and it can even allocate tables that reside only in-memory (which is also "your process's memory") but SQLite still communicates with your process through the SQL protocol, as if it was on the other side of a socket to your process, with no way to "get at" SQLite's internal representation of its data.

</comment></comment></comment></comment><comment><USER4> Man, am I ever a dummy! I look at the diagram on that page and it might as well be Egyptian hieroglyphs to me. I'd have to study that thing one long time to even understand what problem Ions is solving. I'm sure it's a real problem with an interesting solution, but geez the modern Cloud world has really gotten quite complex.

I feel particularly silly because I've been writing Clojure professionally for many years.

<comment><USER6> There are always two sides to this... I think it's badly communicated. Someone said (I don't find the quote), that if you can't explain a complex topic in simple words, you haven't understood it thoroughly.

<comment><USER7> If you know Clojure and AWS I really don't think it is poorly communicated. There's a limit to that idiom of simplicity and understanding being correlated.

This was a walk through of the mechanics. The TL;DR is if you are comfortable enough in AWS and Clojure implementing your system in a scalable and simple and wholistic way just got a bunch more accessibile.

<comment><USER8> I've written a clojure app, used aws and lambda functions and skimming this I really wasn't sure wtf they were talking about. Datomic... Something something lambda functions, deployment. I know that they have an existing ami that uses a cloudformation template to let you set up a datomic server on AWS, this is something similar maybe? I think I could get it if I read in detail but this is definitely poorly communicated, it reads like old Microsoft enterprise sales copy.

</comment></comment></comment></comment><comment><USER9> We need more open source datalog implementations with disk based storage.

I have my hopes now on Mozilla's Mentat [1], but it seems to still have quite some way to go, and also I wouldn't mind something similar implemented in Go too ... At least something simple, allowing to start working with the datalog paradigm for expressing logic and views.

[1] [https://github.com/mozilla/mentat](https://github.com/mozilla/mentat)

<comment><USER10> Here's a really early one based on persisting datascript

[https://github.com/replikativ/datahike](https://github.com/replikativ/datahike)

</comment></comment><comment><USER11> I really love Datomic and it solves so many problems that I usually have when doing application development special in bank and financial context.

We are already using Clojure and I would love to introduce Datomic as well but being a commercial database makes it pretty difficult.

This new setup is sounds cool but I would love something like that on a Kubernetes stack. In the real world Amazon is a no-go in so many situation.

I must say I often found the setup needlessly complicated. There is not much application for making setup and development easy when outside of AWS. No official way to set up of the whole stack with Docker or Kubernetes for example.

<comment><USER12> > _We are already using Clojure and I would love to introduce Datomic as well > but being a commercial database makes it pretty difficult._

I don't see why paying for Datomic would be a problem, but if the license is as crazy as it used to be, that's a bit scary.

For example, the license at least used to forbid even saying "Datomic" aloud in public.

Publishing benchmarks was also forbidden, which is a big red flag. If Datomic performs well, wouldn't Cognitect want lots of benchmarks out there? If it doesn't, they wouldn't!

> _I must say I often found the setup needlessly complicated. [..] No official > way to set up of the whole stack with Docker or Kubernetes for example._

You don't find Kubernetes needlessly complicated? Do you _actually_ need Docker or Kubernetes?

<comment><USER13> >You don't find Kubernetes needlessly complicated? Do you actually need Docker or Kubernetes?

They make life easier in my experience especially if you need something more than a simple self-enclosed application. For what I do we need Apache Spark, Airflow (which in turn uses RabbitMQ and Celery if you want to scale out), possibly JupyterHub (which also needs some way to spin up child servers), and then the application code itself.

I've wired some of it up myself in the past and it's a massive pain in the backside with lots of edge cases (Spark used to have a shitty massive python script for cloud deployments which always was missing something). Deploying it on Kubernetes with Docker on the other hand is rather simple. I basically trade the complexity of Kubernetes/Docker for the complexity of custom deployment/scaling/management code. In my experience, the code quality of the former is going to be much much higher than the code that an internal DevOps team outputs.

<comment><USER14> I've spent timing wiring up a similar setup with Airflow, and Celery on Kube, Kafka too, and running Spark clusters and echo the same sentiment. I also find Kubernetes easier/simpler compared to DC/OS, perhaps because it's a bit more structured and opinionated.

</comment></comment></comment></comment><comment><USER15> It seems Rich (yes and the team at cognitect) might have jumped the shark on this one. (Or this was released too early and the next conf. talk will clear up what the problem is and what it is that this is attempting to solve).

Either way it's rare for Rich not to describe to problem a little more before throwing a solution to it. Hopefully more will come to light in time.

The brief take away I see from this as a non AWS deployment based user is the ability to go beyond the current limitations of only having access to core library functions in the context of datomic. (I see that deployment of applications also plays a part in this but not sure what that solves exactly)

</comment><comment><USER7> This looks like a Godsend :)

The only qualm I have is it being only on AWS.

Other than that this enables just what I could use right about now!

<comment><USER16> DynamoDB is a preferred backend, and the us AWS only.</comment></comment>


Wikipedia's 'complicated' relationship with net neutrality - <AUTHOR> http://www.washingtonpost.com/blogs/the-switch/wp/2014/11/25/wikipedias-complicated-relationship-with-net-neutrality/ <comment><USER2> Wikipedians take it on faith that their website is better, more useful, more ethical, more informative, etc., than other websites. Thus they are able to believe that it is right that their website should receive special (non- neutral) treatment from ISPs.

The problem is, most website operators feel this way. I'm sure Google's executives believe that everyone would be better off if they had more access to Google; and Facebook folks think that about Facebook; Apple folks about iCloud; etc.

So, this is not actually a consistent framework for how ISPs should treat traffic. What if some team develops a better source of information than Wikipedia? They'll be hamstrung from the beginning because Wikipedia is "free" and they are not.

It takes the decision-making out of the hands of the consumer, and puts it into the hands of big ISPs and websites. Whether the website is run by a non- profit or not doesn't matter much...either way it is like the foxes guarding the hen house.

<comment><USER3> > Wikipedians take it on faith that their website is better, more useful, more > ethical, more informative, etc., than other websites.

I've been a Wikipedia editor for about 10 years. I don't think that your perception of the community has any basis in reality. Lot's of Wikimedians are pretty vocal about their disagreements with the Wikimedia Foundation on a wide range of issues (including this one). There are lots of discussions within the community about the limitations of Wikipedia's model.

<comment><USER4> How do you feel about non-neutral treatment of Wikipedia traffic? Does this differ from your feelings on non-neutral treatment of Netflix traffic?

<comment><USER3> In the US or in Sub-Saharan Africa?

I tend to agree with the WMF that in parts of the world where millions of people are using a smartphone as their first computer, providing free information is key to wikimedia's mission. I think that the world would be better off if all websites were treated equally by all ISPs, but I also think the world would be better off if millions of people who have never had a computer before can have the access to information that we take for granted. Given that the WMF is unlikely to be able to change telecom policy or business practices in all these countries, I think it's better to work within the existing system and provide a resource that would otherwise be costly (perhaps prohibitively so).

Having said that, many Wikimedians disagree with me.

<comment><USER5> But you didn't answer the question, did you?

 _but I also think the world would be better off if millions of people who have never had a computer before can have the access to information that we take for granted_

Like Netflix? Or only like Wikipedia? That's the question. Are you saying it's more important for Sub-Saharan Africans to get access to Wikipedia than Netflix? Netflix might disagree. scholarpedia.org might have something to say about it as well. So might stackexchange.com.

<comment><USER3> I think I did answer the question. I don't think that users should be billed for Internet access based on what they use, and I don't think that carriers should be able to play favorites when it comes to content providers. However, given that the wireless industry in many third-world countries works this way, and given that the WMF is unlikely to change either business practices or telecom policy in these countries, I would much rather see the WMF work within the system and try to provide free resources to people then refuse to participate on principle.

There's a huge practical benefit to Wikimedia Zero - people who have very limited access to information resources can get these great resources for free. Balanced against that, I just don't see how not participating benefits anybody, except, perhaps, by letting some people in San Francisco and Cambridge, MA feel good about standing up for an abstract principle.

</comment></comment></comment></comment></comment></comment><comment><USER6> This is an interesting topic, but kind of a weird article. Wikipedia wrote a long article addressing the topic of Net Neutrality and Wikipedia Zero a few months back. This is worth reading if you're interested in the topic:

[https://blog.wikimedia.org/2014/08/01/wikipedia-zero-and- net...](https://blog.wikimedia.org/2014/08/01/wikipedia-zero-and-net- neutrality-protecting-the-internet/)

Kind of odd that the Washington Post doesn't mention any of these points. Personally, I still feel the Wikipedia Zero program violates net neutrality, but mentioning Wikipedia's self-imposed constraints here seems important.

<comment><USER7> Good point. Here are the constraints:

> No exchange of payment. The Wikimedia Foundation does not pay carriers to > zero-rate access to the Wikimedia sites and does not receive payments from > carriers through Wikipedia Zero.

> Wikipedia Zero cannot be sold as part of a bundle. Access to the Wikimedia > sites through Wikipedia Zero cannot be sold through limited service bundles.

> No exclusive rights. We try to partner with as many carriers as possible to > maximize the number of users that can benefit from the initiative.

> Open to collaborating with other public interest sites. Our main goal is to > promote free access to knowledge and we want to help other similar services > interested in doing the same.

</comment></comment><comment><USER8> This is super interesting! Thanks for sharing.

I believe this is a good illustration of how most net neutrality advocacy is misguided. The (very real) problem net neutrality advocates are trying to solve isn't paid prioritization; rather, it's a lack of meaningful competition in the "last-mile" broadband market, and this market failure produces aberrant scenarios like NBC Comcast shaking down its competitors (eg Netflix). I'm hesitant to strongly support most mainstream net neutrality proposals because of situations like this, where network discrimination is net positive.

Anyway, I'd be curious to hear your thoughts.

<comment><USER9> To me, the thing that I don't want to see is some web sites being throttled (or blocked!) on broadband.

Considering most (wired) broadband is bandwidth-limited at this point, varying that bandwidth limit based on what site I'm talking with just feels wrong, and I'd love to see the practice banned, because as you mention, a lot of users have no choice in what broadband they can subscribe to.

Wireless broadband is almost all capped in the quantity that you can use, however, and the T-Mobile "free streaming" options mentioned give you something extra for "free." This is in stark contrast to blocking/limiting something you're paying for, and I would be fine with this limited exception in the wireless space.

But what I _would_ like to see, since this is effectively a utility, is for that "free streaming" to be available on an equal opportunity basis: And T-Mobile _seems_ to be doing exactly that by allowing customers to vote on what services to include.

What feels like unfair competition is (as you mention) Comcast shaking down its competition by way of not providing customers equal access. And until that last-mile competition problem has been otherwise resolved (Google Fiber everywhere?), I think we do need those regulations to prevent monopolistic behaviors.

<comment><USER10> The T-Mobile deal seems great at first blush. You get more stuff for free - yay! But, what if you're a startup streaming music service, and T-Mobile does NOT include you in their list of cap-free streaming? Good luck competing with the other providers.

Perhaps a solution would be to classify types of services, and then make ANY company in that service eligible for the cap-free streaming. So, if you're a startup in the music streaming space, you are automatically included along with all the others. Then the telcos could provide packages of free services without harming innovation and competition.

<comment><USER9> I get that. But streaming for free over mobile is _far_ from the only way to compete.

T-Mobile is the _third-largest_ carrier in the US. Probably a small minority of T-Mobile users even _know about_ the free streaming feature. If your business plan requires that tiny market segment to bootstrap you, then you need a new business plan.

I just don't see it as a big enough differentiator to kill a new service, even if other carriers started doing something similar to T-Mobile.

A new streaming service doesn't need to rely on free mobile streaming _at all_ to bootstrap; if its focus _were_ mobile streaming, a better answer could be to pre-cache hours worth of streams when on wifi. I end up in dead areas frequently, and I end up in roaming areas where T-Mobile won't give me data _at all_. I'd _love_ a service that would auto-cache exactly the music I like to listen to so I could play it when roaming.

I've heard Spotify CAN cache, but it's too expensive for my tastes. Something like a cacheable Pandora would be nice.

But my point is that while yes, it grants an edge to certain established businesses, it's not an insurmountable barrier. Not like Comcast _throttling_ Netflix; if you can't use the service in its primary form, it's DOA. And T-Mobile seems to be adding new services pretty quickly: Even indie stations like Radio Paradise are on the list.

</comment></comment></comment></comment><comment><USER11> Net Neutrality is really a fight between two industries about shifting their costs onto one another, with really good PR from the tech industry that has enlisted normal people onto their side.

T-Mobile's zero-rating of data from certain music services supposedly violates "net neutrality", but customers like it and it allows them to compete with ATT and Verizon. It may be unfair to some other music service start up, but who cares? It's unfair in the same way that an incumbent has more resources to advertise their product than a start up.

<comment><USER12> There are generally 4 economic players at minimum:

      Network service like Netflix.
      Their ISP, like L3.
      Consumer's ISP, like Comcast (also a Netflix competitor).
      Consumer.

The end points are paying money to the ISPs in the middle.

<comment><USER13> There's also content providers, content owners, or other ugly term. They aren't participating in network traffic, but deeply shape structure and demands of at least network services and consumers above, consumer ISP in some cases.

</comment></comment></comment><comment><USER7> This is a bullshit stance by Wikipedia. If when Wikipedia started there had been some popular ad supported encyclopedia that received preferential ISP treatment Wikipedia would not exist today.

Maybe it makes sense for the established internet companies to oppose net neutrality because they're the ones that would get packaged up by the ISPs. But it's bad for everyone else.

<comment><USER14> Does the end result of more people having free access to the information wikipedia provides, justify the zero rating/preferential treatment by ISPs of the site?

<comment><USER15> No, Because it closes out competition to newer, better information.

<comment><USER16> >No, Because it closes out competition to newer, better information.

But that would only make sense if Wikipedia created some sort of insurmountable barrier for newer, better information. It doesn't. Newer, better information can reach people through Wikipedia with just as much ease (provided it fits Wiki's publishing standards) as it would through any other platform.

For all intents and purposes, Wikipedia and other similar open and free general knowledge sources can (and perhaps should) be regarded as a public good. We don't complain that the government's monopoly on building public roads closes out competition to 'newer, better roads'. We recognize that these roads are vital public infrastructure. Platforms like Wikipedia should be no different.

<comment><USER15> Wikipedia creates an enormous barrier to better information due to its size and scope, and its co-dependent relationship with Google.

In many cases Wikipedia's information is substandard when compared to other sources, both in presentation and content. The wiki layout is useless for certain content types, such as video.

For example, many people prefer to use imdb for movie information (which is also free to the end user), but it comes lower than Wikipedia on many search results. There have also been several recent studies that say Wikipedia's medical information is unreliable and dangerous.

So giving free access to Wikipedia, over other sites is not actually in the public good at all. The answer is more competition.

<comment><USER17> IMDB does have better quality information about their niche topic, but their layout sucks. Outside their niche topic, their information sucks. Trying to get even basic information about animals, major religions, or non-entertainer public figures, and IMDB is just plain awful.

As for video, both IMDB and wikipedia 'pop up' a box in which to play video, independent of the parent page layout; they don't seem to differ in that respect, and IMDB is a specialist site that's all about video.

 _There have also been several recent studies that say Wikipedia 's medical information is unreliable and dangerous._

As opposed to...? Online medical literature in general is noted to suck, even the specialist websites. Even paid professionals - my housemate returned from the doctor two days ago after a norovirus scare... and the doctor claimed the incubation period before symptoms was 2 weeks... when it's actually 1-2 days.

Anyway, Wikipedia is a generalist site - basically you're arguing that it's not as good as specialist sites, so to free up access to information, all that better info should be free, hence all (useful) sites (effectively) should be free. I'm not sure that's going to go down well with ISPs.

<comment><USER18> > As opposed to...? Online medical literature in general is noted to suck, > even the specialist websites. Even paid professionals - my housemate > returned from the doctor two days ago after a norovirus scare... and the > doctor claimed the incubation period before symptoms was 2 weeks... when > it's actually 1-2 days.

Now get some good quality evidence - something like a Cochrane review or NICE guidance - and try to edit those medical pages.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Net non-neutrality used to overcome severe data caps so some poor buggers can browse the Wikipedia?

This really sounds like trying to add one wrong to another to try to make a right.

This really confuses issues too; metered access to a network isn't quite the same thing as non-neutral access where some content gets much better latency and bandwidth.

Cutting off access to _all_ sources of content at a given data cap does in fact meet the definition of neutral: No Netflix for you, and no Usenet, no Skype, no IRC, no git, no ssh, ...

Data caps in fact hurt the high-bandwidth premium services that easily bust data caps, whose purveyors support non-neutrality.

</comment><comment><USER20> This seems very similar to the postal system when it give free-of-charge service for humanitarian aid. It seems a very strict interpretation of the common carrier principle to disallow it on the basis that its discriminating against those who has to pay.

What is the threat model to net neutrality for cases when there is no exchange of payments?

</comment><comment><USER21> The authors didn't address the point that all the current use cases for zero rating are on wireless, not on traditional broadband.

The Google-Verizon proposal from 2010 had this "wireless exclusion". I was opposed to it in principle, but now as a T-mobile customer I really love the fact that Spotify doesn't count to my usage limits. I can completely see how zero rating could benefit the developing world and even the elderly in developed countries - these demographics are very likely to own a cellphone even though they might not use home broadband.

I don't see anything wrong in providing a throttled experience for free as long as all paid traffic (including non-zero rated versions of Wikipedia that include pictures/video) is treated equally.

<comment><USER22> Wondering why you don't see an issue with zero-rating - it's essentially making an unlevel playing field, with the big players like Facebook/Spotify buying an anticompetitive moat against any new entrants.

I don't see how zero-rating is going to help network congestion either - won't zero-rated Spotify for my neighbors causes my calls to drop or my maps to not update?

Is zero-rating some bandwidth somehow magically evading Shannon's Law?

<comment><USER21> You brought up three issues: (i) Anti-competitiveness in music streaming (ii) Anti-competitiveness in social networks (in developing regions) (iii) Effect of zero-rated services on congestion

(i) [http://www.t-mobile.com/offer/music-freedom- list.html](http://www.t-mobile.com/offer/music-freedom-list.html) This is a large enough list that I wouldn't worry about anti-competitiveness. It is still them vs. everyone else, but looking at the list right now, the barriers to entry cannot be that high, which means any anti-competitive effect cannot be that high either. I and most others in my income category (college undergrads) are willing to accept this in order to have free music streaming.

(ii) Facebook (in some parts of the developing world) is a slightly different issue, and not necessarily one that I agree with. Still, zero rating popular websites in the developing world seems to be win-win-win for consumers, carriers, and content providers, and ignoring market forces is simply not a solution. Especially if the target demographic simply cannot afford to pay for data - this is an entirely different market and I don't have the experience to form an opinion on this. Edited my original post to remove Facebook.

(iii) Let's assume all paid traffic should be treated equally. And to keep things fair to paying customers, paid traffic should be prioritized over free traffic. I'm willing to bet this already happens indirectly - by lowering the music quality when the network is congested.

But what if I have Spotify Premium - I (indirectly) pay for my traffic, so why should your maps app be any more important?

\---

Obviously there are tough questions here, and a "one size fits all" net neutrality approach for wireless and broadband might not be the best solution.

If wireless was as cheap and fast as broadband, I would be all for net neutrality on wireless. But it's not. They are different 'products' in economic terms (even if they have a similar end result and "feel the same"), and I think it's therefore okay for policies that govern them to be different.

<comment><USER22> While I appreciate your thoughtful response, all of your points evade my questions.

Especially your (iii) which makes a pretty invalid assumption about paid traffic all paying the same rates. Do you know this is true for current paid traffic? I would bet it's entirely not true. Even if it is, paid traffic being prioritized over free traffic is essentially reinforcing the internet slow- lane.

Nothing of what you said replies to the difficulties in competing against Facebook or other internet giants when they're paying to prevent competition from newcomers.

Sorry, but you sound like a telecom/cable apologist.

<comment><USER21> I didn't say anything that could be construed as an apologist argument for the cable industry, or even the wireless industry. You can only accuse me of being a T-mobile apologist - and what they are doing hugely benefits me, considering my limited budget. And I'm not alone.

      Nothing of what you said replies to the difficulties in competing against Facebook or other internet giants when they're paying to prevent competition from newcomers.

1) I argued that zero-rating music services isn't as anti-competitive as it's made it out to be. Since 27 services (many of which I hadn't heard of) made it onto the list, it can't be _that_ hard for a newcomer to get onto the list.

2) Facebook Zero is a developing world issue. I said earlier that I don't have the experience to comment on developing-world issues, but let me take a stab at it now (this is sort of long): if you lived in a part of Africa that had no electricity but had cellphone reception (this is quite common), there's a good chance you would rather have Facebook and Wikipedia for free on your phone, as opposed to having a level playing field among all services yet being able to afford none of them. (<\-- TL;DR)

Of course Facebook isn't being purely benevolent in offering this for free - they want to increase their MAUs and ad revenue, and get a hold on the market. Which is why I said I don't necessarily agree with that they're doing. BUT, you can see how the argument has its merits.

Yes, this makes it hard for another social network to gain usage share in that market. Duh. It would be hard if you were a startup from SoMa, and it would be equally hard (but much more soul-crushing) if you were a startup from the same region and can't get what Facebook does from the local wireless carriers.

What do customers in such markets want? The bottom 90% of customers in such a market will almost certainly want Facebook and Wikipedia for free.

3) As for congestion: I just wanted to pose the Spotify Premium vs Maps question to you. No wireless company ever mentioned "reducing congestion" as the reason for their zero-rating policies (it doesn't make sense anyway), so the subject of congestion is out of place here, and your questions about congestion are completely irrelevant here. That part of my response was very poorly worded now that I read it.

      paid traffic being prioritized over free traffic is essentially reinforcing the internet slow-lane.

Not quite. The important difference is that it's paid for _by the consumer_ , not by the content provider. Even today, those who pay more for a better internet package get their traffic prioritized over those who pay less and everyone's fine with this. See, for example, Google Fiber's slower free tier in Kansas City.

</comment></comment></comment></comment></comment><comment><USER23> This is kind of at the peripheries of net neutrality. I don't recall any proposed "net neutrality" related regulations -- whether the 2010 Open Internet Order, the NPRM from earlier this year, or any of the concrete alternatives proposed -- that would have prohibited zero-rating on mobile networks that have data volume charges.

This isn't even the same thing as paid prioritization (which the recent NPRM may still have allowed, within some bounds), where edge providers are given a choice to pay the ISP or have packets get lower delivery priority -- the ability of the customer to connect and the quality of service provided on the connection isn't affected by the payment, the customer gets exactly the service they would get connecting to an edge provider that hadn't made a deal with the access provider. The only difference is that the customer doesn't have to pay for the data consumption (which essentially is equivalent to the edge provider reimbursing the consumer for the data cost, except presumably the costs are lower commensurate with the simplicity of a direct edge provider to access provider payment route.)

So, while certainly this kind of thing might raise concerns related to net neutrality, its not what the focus of the net neutrality debate and regulatory effort has been.

<comment><USER24> > So, while certainly this kind of thing might raise concerns related to net > neutrality, its not what the focus of the net neutrality debate and > regulatory effort has been.

Well, that's because this wasn't a threat (in the US) until relatively recently, unlike paid prioritization and/or throttling. That doesn't mean that zero-rating doesn't violate the same principles as paid prioritization does. If you take a look at the doomsday scenario that Fred Wilson outlines in "VC Pitches In A Year Or Two"[0], the situation could just as easily apply to a zero-rated world.

You can think of zero-rating as "slow lanes", the speed on the slow lane is set to zero. (In a way, zero-rating is actually worse than paid prioritization, because it achieves the same end result, but placing a more consumer-friendly facade on the same rotten interior.)

> This is kind of at the peripheries of net neutrality. I don't recall any > proposed "net neutrality" related regulations -- whether the 2010 Open > Internet Order, the NPRM from earlier this year, or any of the concrete > alternatives proposed -- that would have prohibited zero-rating on mobile > networks that have data volume charges.

I also don't recall any _large-scale_ [1] efforts to impose zero-rating on mobile consumers until the last year or so, which is why net neutrality legislation hasn't focused on it. In general, legislation around consumer protections tends to be reactive rather than proactive, and net neutrality has definitely followed this pattern.

[0] [http://avc.com/2014/01/vc-pitches-in-a-year-or- two/](http://avc.com/2014/01/vc-pitches-in-a-year-or-two/)

[1] (Yes, they existed in some cases, but they were very limited and relatively obscure.)

</comment></comment><comment><USER25> There was no concept of 'zero-rating' before telecoms/ISPs established the concept of a 'rate-per-byte'.

<comment><USER26> While this is technically correct, it suggests a causation that just isn't there. Metered per-byte rates have existed since at least the 1990s. Datacenter bandwidth has historically always been metered, though typically on a 95/5 rate basis.

This is also how mobile data has historically been billed: data packages really only took off with the relase of the iPhone, and before that most people just paid per-kb (which is why nobody actually used their mobile data capability).

<comment><USER27> 95th percentile billing is not like the per-byte billing that ISPs and other parties try to enforce. 95th percentile billing uses your instantaneous bandwidth utilization, which directly correlates to how you have to size network equipment, and therefore to how much it costs to operate the service.

Per-byte billing does not directly map to how much it costs your provider to transfer your data. I can utilize a link to send 1kbit/s for a month, which is 2.47Tbit of data transferred. That sounds like a lot, but what burden does 1kbit/s place on your provider? Virtually nil. And yet carriers with data caps will charge massive overage fees or heavily throttle usage because of usage like this.

AWS bills per-byte for outbound data, so I'll use that for a concrete example. Lets say that I have a small service that uses 1gbit/s for 30 days.

      Commodity transit:
      billed at 95th percentile
      $2.00 / mbit
      $1000 circuit commit
      = $2000 / mo

      AWS:
      billed per-byte
      $0.05 / GByte (using their cheapest tier for simplicity)
      = $16,200 / mo

There is no major difference here between what it costs the provider to transfer my packets. If anything, Amazon can get better deals on transit than a small startup can. Yet I would pay Amazon nearly ten times as much, simply because their billing metric does not bear any relation to their cost to serve. This is rent-seeking behavior and it should not be allowed to become the default way that ISPs and other service providers bill customers.

<comment><USER25> You comment is informative but it contains a magnitude error. It should be 2.47gbit, not 2.47tbit.

[https://www.google.com/search?q=1+kibibit+per+second+*+30+da...](https://www.google.com/search?q=1+kibibit+per+second+*+30+days+in+gibibits)

<comment><USER27> You're right. 1kbit/s over a month would result in 2.47gbit of data transferred, which is a bit less damning. To get to 2.47tbit, you would of course need 1mbit/s transferred (which is still not that much!).

However flawed my example, I think my point remains valid: data usage measured over arbitrary time periods makes no sense when the underlying infrastructure is built with blocks that only care about instantaneous transfer rates.

<comment><USER25> I agree.

</comment></comment></comment></comment></comment></comment><comment><USER28> If your meritocracy is just a snapshot of whoever's best at a specific time, then you don't have a meritocracy. In other words, what happens when a new, better source of information comes online?

</comment><comment><USER29> Wikipedia Zero creates a financial penalty for users who want to preserve their privacy by using Wikipedia over Tor. I wonder what folks here think about the ethics of that.

</comment><comment><USER30> Serious question, as I don't really have a strong opinion on zero rating either way:

In a scenario where zero-rating is available to all actors at equivalent prices, is there still a problem? It would raise the barrier to entry for internet companies perhaps, but probably not by too much. I guess you could argue it encourages bandwidth capping?

I'd like to hear arguments from both sides.

<comment><USER31> >In a scenario where zero-rating is available to all actors at equivalent prices, is there still a problem? It would raise the barrier to entry for internet companies perhaps, but probably not by too much. I guess you could argue it encourages bandwidth capping?

An alternative, would be to allow zero-rating through free prioritization. Give either web services or consumers the choice of "this is an important connection: per-byte-rate and give higher priority," or "this isn't so important: zero-rate and give lower priority."

That way VoIP and other latency/rate-critical services could operate more reliably, while BitTorrent, home cloud storage and others could operate without congesting the network and without data cap problems. If this choice was allowed in an automated way, it would not seem to cause any unfairness, or keep smaller/newer players off the market.

</comment></comment><comment><USER32> For those who think Wikipedia is right in defending Wikipedia Zero, could you please elaborate on how this will not impact the adoption of any alternative encyclopaedic website?

<comment><USER33> Can you fork Wikipedia? I remember back in the day it was all open licensed and downloadable, but it's grown quite a bit since then.

</comment></comment><comment><USER34> This isn't a dilemma. You can have net neutrality and also have Wikipedia Zero -- it isn't mutually exclusive. It might make it a little harder and Wikipedia may need to ask for more donations, but this is __their __goal, not anyone else 's. Wikipedia isn't the internet.

</comment><comment><USER35> A better solution: no data caps, even if it has to be enforced by regulations.

<comment><USER36> But bandwidth is a limited medium. It is fair IMO that those who use it a lot should pay more,

<comment><USER35> Which doesn't mean having a data cap. It could be 1$ per GB on wireless devices (where bandwidth is really limited because of collisions with everybody's else traffic) or whatever amount it makes sense. Wikipedia pages are quite skinny.

Servers usually pay per GB with many VPS providers right now, with a monthly quota included in the base fee. If you have your own datacenter you pay per GB in other ways.

That said, subsidising the access to one own website could be seen as a fair commercial practice or anticompetitive behavior. It depends on so many factors that I don't even want to get into it.

</comment></comment></comment><comment><USER37> There's a better solution than zero rating on mobile plans: a very low bandwidth (4-8 KiB/s) unlimited connection once the full speed limit is reached. TIM does this in Italy and it doesn't care what sites you access in this low bandwidth regime.

<comment><USER38> The thing is that zero rating can be promoted by platforms such as Wikipedia and Facebook, who want to promote net neutrality; unlimited low speed connection is an ISP-only thing, and I haven't seen many big ISPs (really) promote net neutrality.</comment></comment>


CBS to acquire CNET for $1.8 Billion - <AUTHOR> http://www.centernetworks.com/cbs-acquires-cnet

<comment><USER2> When Digg/Reddit and the other social news sites got big a few years back I ditched News.com almost completely because they delivered tech news stories faster. These days with Digg's new larger audience (and less tech focus) I am spending more time at News.com than Digg (Reddit still a regular)</comment>


Canonical Makes Ubuntu for Windows SubSystem for Linux a Priority - <AUTHOR> https://www.zdnet.com/article/canonical-makes-ubuntu-for-windows-subsystem-for-linux-a-priority/ <comment><USER2> Having to use widows to use Linux is a whole new level of dumb. Is what it is, but holy Christ is it illogical.</comment>


Show HN: Daisy: A private blockchain where blocks are SQLite databases, in Go - <AUTHOR> https://github.com/ivoras/daisy <comment><USER2> I wonder why this hasn't received more comments in the last 3 days.</comment>


The Web Ahead Episode 100: Designing the Web with Jeffrey Zeldman - <AUTHOR> http://thewebahead.net/100

<comment><AUTHOR> Jeffrey Zeldman chats with Jen Simmons about privacy, big data, and the need for designers to pay close attention to ethical questions.</comment>


Katie Couric to Become Yahoo's "Global News Anchor" - <AUTHOR> http://allthingsd.com/20131123/couric-deal-to-become-yahoos-global-news-anchor-set-for-monday/?mod=tweet <comment><USER2> It seems like Yahoo is spending too much money, and nothing lucrative is coming out of it.</comment>


Judge: Mobile Phone Ringtones are Not Concerts - <AUTHOR> http://www.wired.com/threatlevel/2009/10/judge-mobile-phone-ringtones-are-not-concerts/

<comment><USER3> I ran a ringtone startup back in 2000 - 2004. ASCAP threatened us more than once. They claimed that someone who purchased a ringtone from us would then go ahead and make a public performance every time their phone rang, and thus, we were obliged to pay up performance licensing fees. I can remember looking the 'payment schedules' over in my freshman dorm room shaking my head in disbelief (We were already paying other rights agencies at the time [edit - <USER2> ASCAP]). The whole thing was absurd. Good to see a court has finally slapped some sense into them.

The advice from our lawyers was to just pay up unless we had the money to fight them in the 'Rate Court' <http://www1.nysd.uscourts.gov> Glad someone finally did.

</comment><comment><USER4> I can't believe someone actually wasted their money, and tax payer money, to take this to court. The lawyers must be laughing all the way to the bank.

<comment><USER5> They won with musical instrument shops that do have to pay a public performance license in case a customer plays a known tune while testing a new instrument

<comment><USER6> I'm sorry but that's fucking retarded.

<comment><USER5> Some more examples:

John Collins, 57, who runs a software company from a room at his home in Welwyn Garden City, Hertfordshire, received letters saying he needed a licence for the classical CDs he played while working. "If my wife Susan brings me a cup of tea and hears the music then I might be liable," he said.

Even dogs and cats do not always escape targeting. Follybridge cattery near Peterborough and Stokenchurch dog rescue centre in Buckinghamshire, which play Terry Wogan's Radio 2 show to their "guests", were both told they would need a licence in case any workers heard the music.

</comment></comment></comment></comment><comment><USER7> My common sense is tingling.

</comment><comment><USER8> Until I read this, I didn't actually believe in Einstein's quote of human stupidity being infinite.</comment>


Tiny mites spark big battle over imports of French cheese (2013) - <AUTHOR> https://www.npr.org/sections/thesalt/2013/05/11/180570160/tiny-mites-spark-big-battle-over-imports-of-french-cheese <comment><USER2> Charles Babbage (of Analytical Engine fame) wrote an entire chapter of his sort-of-autobiography where he imagines life from the perspective of a cheesemite philosopher: [https://www.gutenberg.org/files/57532/57532-h/57532-h.htm#p4...](https://www.gutenberg.org/files/57532/57532-h/57532-h.htm#p406)

(I did a production of this book as a nice epub for Standard Ebooks: [https://standardebooks.org/ebooks/charles- babbage/passages-f...](https://standardebooks.org/ebooks/charles- babbage/passages-from-the-life-of-a-philosopher) if you want something for your reader.)

<comment><USER3> Thanks for this. It's great you did this and shared it.

</comment></comment><comment><USER4> I once bought a piece of mimollete cheese on a lark. When I ate it later that day, I was extremely impressed by the rich and nutty flavor, and wondered how I had reached adulthood without knowing about something so delicious.

So I looked it up on wikipedia. And learned about the mites.

When I looked closely at the rind of the the cheese I'd bought-- sure enough, it was busy with tiny, transparent crawlies.

I still like mimolette, but there's something in the back of my brain that cannot forget the mites. The innocent bliss of that first experience is impossible to recapture.

<comment><USER5> You have similar mites living on your face too.

[https://www.npr.org/sections/health- shots/2019/05/21/7250878...](https://www.npr.org/sections/health- shots/2019/05/21/725087824/meet-the-mites-that-live-on-your-face)

<comment><USER6> Human mites are up to 0.016in while cheese mites can be about twice that size 0.028in making them much easier to see.

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

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

<comment><USER4> Yes, illogical though it be, the fact that my eyelash dust might be motile bothers me less than seeing live arachnids in my food.

</comment></comment></comment></comment><comment><USER7> If you keep your cheese warm enough (not refrigerated for 4 to 6 hours) you can even see the mites run in your plate at times :) They're not actually microscopic, though they're really, really small. There are cheeses that gets their name (and taste) from the mites : "la tomme céronnée" is so called because it's covered with "cirons" (mites) that gives it its typical nutty taste (you're of course supposed to eat the rind, eventually after brushing off some of the dust).

Another interesting thing to now is that raw milk cheeses have an intense life of their own, but they're less susceptible to host bad bugs : the existing fauna and flora keeps the nasty ones out. OTOH, a pasteurized cheese must be either almost sterile, or may rapidly host all sorts of bad microbes.

<comment><USER8> >eventually

Fellow compatriot spotted ;)

Just FYI, "eventually" != "éventuellement".

Also, do you want to tell them about Corsican cheese, or should I?

<comment><USER9> Isn't that cheese forbidden? It's more a meat product than diary at this point.

<comment><USER10> I couldn't find this when I searched the web for it. Are you meaning Casu marzu?

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

<comment><USER11> The Wikipedia article gives a suggestion for how to kill the maggots (and force them to vacate the cheese) if one is squeamish. The article actually makes it sound rather delicious (if hard to obtain).

</comment></comment></comment></comment></comment><comment><USER12> Sounds like something that could be solved with food irradiation [1] after the cheese has ripened, to kill the mites. It's similar to pasteurization, but without any of the heat which would melt the cheese. And it's already FDA approved[2].

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

[2] [https://www.fda.gov/food/buy-store-serve-safe-food/food- irra...](https://www.fda.gov/food/buy-store-serve-safe-food/food-irradiation- what-you-need-know)

<comment><USER13> Does it need to be solved? Is it an actual problem? I'm not clear what the issues is with eating them.

What's the difference between mites in this cheese and bacteria in yogurt? they are both intrinsic to the process of producing respective foods.

<comment><USER14> Many food regulations seem to be based on people's traditional idea of cleanliness than on actual salutary benefits. I doubt hair and cockroaches are huge disease vectors but I still don't want them in or near my food.

<comment> saiya-jin Yeah but if you kill the mites/worms/whatever, its still _in_ the cheese, just dead. I would actually prefer the, you know, meaty part, to be fresh upon digestion

<comment><USER13> :D well said, we want our cheese mites fresh and squirming.

</comment></comment></comment></comment></comment><comment><USER15> In Germany there is a cheese called Milbenkäse (mite cheese) that contains live mites inside the cheese, not just on the rind. They contain hundreds of thousands of them per cheese block.

[https://en.wikipedia.org/wiki/Milbenk%C3%A4se](https://en.wikipedia.org/wiki/Milbenk%C3%A4se)

<comment><USER16> And of course that's nothing compared to casu marzu. Granted, they are maggots and not mites.

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

</comment></comment><comment><USER17> Could anyone educate me on how to dereference and unsee this article from my brain? I very much love cheeses and never noticed this ... fact.

<comment><USER18> Don't look up how figs are pollinated.

<comment><USER19> If, like me, you also don't want to find out how figs are pollinated, here's an article I didn't immediately turn around and find-

[https://www.mentalfloss.com/article/85340/fig-pollination- in...](https://www.mentalfloss.com/article/85340/fig-pollination-incredible- and-probably-results-you-eating-mummified-wasps)

</comment></comment></comment><comment><USER20> I had to find out what happened. Apparently after a year it came back, but why is unclear.

[https://www.kansascity.com/living/liv-columns-blogs/chow- tow...](https://www.kansascity.com/living/liv-columns-blogs/chow- town/article2742471.html)

[https://www.dairyreporter.com/Article/2013/04/17/FDA- dismiss...](https://www.dairyreporter.com/Article/2013/04/17/FDA-dismisses- reports-of-US-import-ban-on-French-mimolette-cheese)

French raw milk cheeses are still banned, though.

<comment><USER15> Not all raw milk cheese is banned. Raw milk cheeses that have been aged less than 60 days are not allowed in the US and Canada(excluding Quebec). You can buy raw milk cheese in most supermarkets in the US.

</comment></comment><comment><USER21> I wonder how the FDA feels about civet coffee.

</comment><comment><USER22> Why stop the sale, if there are problems with allergies can't you just label the cheese "[may] contain mites" under the allergen list?

Do the mites taste worse if they're dead? Seems they could be killed relatively easily by placing then in an oxygen free container for a while?

<comment><USER16> Cheese is often a bargaining chip in trade negotiations, or collateral damage when the American government wants so show it's not happy. One example was the banana trade wars in the 1990s, which saw things like roquefort (as well as other European food) getting banned and un-banned a couple of times. It often has not much to do with actual food safety.

<comment><USER15> True, but I doubt that banning this one very specific cheese (that is much less known than Roquefort in the US) is due to trade negotiations. Even the German mite cheese is supposedly in kind of a legal grey area in the EU.

<comment><USER16> You're right, in this instance apparently some customs agents did not like the look of one batch. My memory is a bit hazy, and finding details is difficult. The report is fantastic though, you can feel the disgust of the officer who wrote it:

— The article is subject to refusal of admission pursuant to Section 801(a)(3) in that it the article appears to consist in whole or in part of a filthy, putrid, or decomposed substance or be otherwise unfit for food. — [https://www.accessdata.fda.gov/scripts/importrefusals/index....](https://www.accessdata.fda.gov/scripts/importrefusals/index.cfm)

There are actually a bunch of things that are not entirely compliant with EU regulations but get some kind of exemption because they are traditional, and usually not produced in large quantities. Sometimes they can be produced but not sold, like the casu marzu mentioned elsethread.

</comment></comment></comment></comment><comment><USER23> Just irradiate it. Problem solved.

</comment><comment><USER24> (2013)

<comment><AUTHOR> let me remove this. sorry

<comment><USER25> Why remove it? It's interesting!</comment></comment></comment>


Is the DOJ Forcing Banks to Terminate the Accounts of Porn Stars? - <AUTHOR> https://news.vice.com/articles/is-the-doj-forcing-banks-to-terminate-the-accounts-of-porn-stars <comment><USER2> For a discussion of the relevant law:

[http://dealbook.nytimes.com/2014/01/26/justice-dept- inquiry-...](http://dealbook.nytimes.com/2014/01/26/justice-dept-inquiry- takes-aim-at-banks-business-with-payday-lenders/)

[https://www.courthousenews.com/2014/01/09/64360.htm](https://www.courthousenews.com/2014/01/09/64360.htm)

[https://www.courthousenews.com/2014/01/09/USvFourOaks.pdf](https://www.courthousenews.com/2014/01/09/USvFourOaks.pdf)

> all banks in the United States [are] required by law to have an effective > program in place to assure that the Bank understands the identities of its > customers and the nature of their business activities

> [all banks in the United States are] required to have an effective > compliance program to prevent illegal use of the banking system by the > Bank's customers

> By conducting a meaningful "know-your-customer" analysis, [banks are] > required to collect information sufficient for the Bank to determine whether > a client pose a threat of criminal or other improper conduct.

> information required to be collected includes purpose of the account, actual > and anticipated activity in the account, the nature of the client's > business, the client's location, and the types of products and services the > client intended to offer

> See generally Bank Secrecy Act, 31 U.S.C. § 5311 et seq.; USA Patriot Act, § > 326, 31 U.S.C. § 5318; 31 C.F.R. § 1020 et seq.

[http://www.law.cornell.edu/cfr/text/31/chapter-X](http://www.law.cornell.edu/cfr/text/31/chapter-X)

The gist is that all banks (etc.) are required to spy on you. Which is why we need Zerocoin (anonymous Bitcoin) or Zerocash.

[http://zerocoin.org/](http://zerocoin.org/)

</comment><comment><USER3> Selling _tobacco_ now a high-risk activity? What fucking joke is this?

<comment><USER2> > illegal sale of tobacco products on the Internet

> Financial institutions should implement policies and procedures that reduce > the likelihood of establishing or maintaining a relationship with payment > processors through which unscrupulous merchants can access customers' > deposit accounts.

[http://www.fdic.gov/regulations/examinations/supervisory/ins...](http://www.fdic.gov/regulations/examinations/supervisory/insights/sisum11/managing.html)

Edit: illegal, Internet, unscrupulous merchants

<comment><USER3> I can see the risks linked with gambling, loans and pharma stuff (hello Chinese Viagra fraudsters), but where's the risk in tobacco?</comment></comment></comment>


Paul Kalanithi, writer and neurosurgeon, dies at 37 - <AUTHOR> http://med.stanford.edu/news/all-news/2015/03/stanford-neurosurgeon-writer-paul-kalanithi-dies-at-37.html <comment><USER2> Paul was a close friend of mine, and we worked together on his research during his neurosurgery residency at Stanford. He was a hell of a human being, brilliant, dedicated, creative, refreshingly optimistic, and selfless. Before he was diagnosed, I'd planned to postdoc with him when he was considering starting a functional neurosurgery lab (actively manipulating the nervous system to achieve therapeutic benefit, with deep brain stimulation being the most successful example).

This piece he wrote shortly before he died is well worth your time. [http://stanmed.stanford.edu/2015spring/before-i- go.html](http://stanmed.stanford.edu/2015spring/before-i-go.html)

<comment><USER3> "Most ambitions are either achieved or abandoned; either way, they belong to the past. The future, instead of the ladder toward the goals of life, flattens out into a perpetual present. Money, status, all the vanities the preacher of Ecclesiastes described, hold so little interest: a chasing after wind, indeed."

indeed... so perfect... great piece, thanks for sharing...

</comment></comment><comment><USER4> I'd love for HN to have the option to comment anonymously on moments like these.

That's way too young.

I find as I slowly get older that more and more people that I know or know about have passed, this is a constant reminder to me to get out of bed each day and to use the time as good as I can, and somehow when announcements like these hit they rub in much harder than anything else could that I'm failing in this respect.

So young and such an impressive list of achievements, and by reading the words linked from other comments here such a gentle and nice person.

My dad told me he measured his age by how often he had to wear black, at 37 the meaning of that had not yet set in, but every year it gets a little bit more clear, and whenever someone younger than me dies it hits much harder than when someone older dies.

This man had more potential for the remainder and has achieved more at 37 than I'll probably manage in my lifetime even though I am already much older and (probably, hopefully) still have quite a few years in front of me.

<comment><USER5> You can always make a throwaway account. Why do you feel the need to comment anonymously on this?

<comment><USER6> Sometimes it easier to be anonymous when trying to talk about something extremely personal.

<comment><USER7> How is a one-time pseudonym any different than being anonymous?

Unless you mean a 4chan-style "Anon" checkbox for ease of use?

</comment></comment></comment></comment><comment><USER8> I also shared preciously short period of time in the same lab with Paul. He was an incredible human - unparalleled in medicine and research and a bright and wonderful personality. An event like this puts into perspective how important individual people are within the research community, and we'll feel this loss for a long time.

Another piece he wrote recently which adds valuable perspective on what it's like to be diagnosed with a serious illness:

[http://www.nytimes.com/2014/01/25/opinion/sunday/how-long- ha...](http://www.nytimes.com/2014/01/25/opinion/sunday/how-long-have-i-got- left.html?_r=0)

</comment><comment><USER9> As the OP and others have linked: [http://www.nytimes.com/2014/01/25/opinion/sunday/how-long- ha...](http://www.nytimes.com/2014/01/25/opinion/sunday/how-long-have-i-got- left.html?_r=1)

I'm not far from Dr. Kalanthi's age. I wish I could be as 1/10th as reflective and eloquent as he is in facing an untimely death just as his hard work and studies were paying off:

> For a few months, I'd suspected I had cancer. I had seen a lot of young > patients with cancer. So I wasn't taken aback. In fact, there was a certain > relief. The next steps were clear: Prepare to die. Cry. Tell my wife that > she should remarry, and refinance the mortgage. Write overdue letters to > dear friends. Yes, there were lots of things I had meant to do in life, but > sometimes this happens: Nothing could be more obvious when your day's work > includes treating head trauma and brain cancer.

</comment><comment><USER10> I might sound silly, but the fact that I'm 37 years old caused a a strange feeling after reading this.

<comment><USER11> Nothing silly about it. It's a very stark reminder that death doesn't just take the old, or the chronically infirm, or the careless. Sometimes it's very swift, subtle, and brutal.

We could easily be diagnosed with something tomorrow and be dead within two years, and probably nothing can save us.

While it's true that you could easily be killed tomorrow in a car accident, I think many of us really believe that we have more agency when it comes to accidental death. That we're the savvy pedestrian, the defensive driver who won't be a statistic. We're smart and quick enough to make the right decision when it comes to car accidents.

But things like aggressive lung cancer? You're probably a goner, and no amount of intelligence or quick reaction can save you. And we know that.

It's a very disempowering feeling.

</comment></comment><comment><USER12> > _Paul Kalanithi said his daughter, Cady, filled him with "a joy unknown to > me in all my prior years." He passed away on March 9._

I hope his daughter comes to understand how much comfort it must have brought him to have known her.

</comment><comment><USER13> I remember reading Paul's original piece in the NY Times last year; a touching piece on how at any given moment, everything can fall apart. A few weeks ago, his latest beautifully written piece in Stanford Medicine Magazine came out along with a moving video about his painful journey with this cancer. He had setbacks during his latest round of chemo but he pulled through and it seemed that things were at the very least, maintainable especially given the severity of this cancer.

It was indeed a rude awakening a few days ago to find out via Twitter how Dr. Kalanithi had passed away. It seemed sudden, in your face, powerful, painful and relentless especially related to a man I have never met.

It shows you that disease, life, and ultimately death does not discriminate against anyone and can hit at anytime - even those who work day in and day out to heel others. It shows how precious, fragile and relentless life truly is, how lucky we are to be here, commenting on the latest Macbook or tinkering away at our projects. The world and time, like Paul said, doesn't stop for anyone, it just keeps going. And it's best to go with it and try to make the most out of what you're given.

If one can learn anything from his journey, and his eloquent writings, it is that we must always move forward at a constant rate and be grateful for each day, pursue it intelligently, happily and full of energy.

Our time is limited and when you see such a tragic case of life (and death) unfold before you, for many via the Internet - you stop for a second and think - but hopefully, only for that second as time just keeps ticking away.

</comment><comment><USER14> Things like these shouldn't happen. I strongly believe that we have the resources and the knowledge to safe many people lives. It is tragedy that many of us willingly let those resources be wasted, by whatever plan politicians elected by us come up with.

This may sound like cliche but I believe it is truth

The only thing necessary for the triumph of evil is for good men to do nothing.(Edmund Burke)

Question is what can we do to improve it?

Things like easiest things to do is spend some money on organization supporting research, helping those in need in general.

Help research by joining folding@home, rosetta@home or other distributed computing project.

Spend some time helping in some charity.

This is a little but it might help to safe life someone you know. I am curious if there is some other plan for this.

</comment><comment><USER15> His widow was my primary care physician for years. I was sad to lose her (she left Kaiser for Stanford) and I'm now sad to hear that she's lost her husband.

My best to you, Dr. Kalanithi.

</comment><comment><USER16> This is really quite sad. When you are around that age you don't really think about those things.

Truly though, article and content posting like this are what make HN such a great place. I would have never seen this had I not read this site. Thank you for posting it mikecircle.

</comment><comment><USER17> RIP. The photo with his daughter is heartbreaking.

</comment><comment><USER18> That's also the kind of article/news I come to HN for.

</comment><comment><USER19> You do not know this, but you have made me introspective. There are some things I will be and am improving upon because of you.

Rest well, Paul.

</comment><comment><USER20> Incredibly moving. For some reason, watching the video and listening to his voice gave me peace. RIP.

</comment><comment><USER21> This is incredibly sad yet incredibly inspiring - I wish I could have known him. Dr Paul Kalanithi's story resonates with me very similarly to Randy Pausch and his journey/battle through pancreatic cancer - the swell of emotions that I felt when I heard about his passing. It's painful to see these people who have so much youth, intelligence, intellect and eloquence, have the misfortune of getting dealt a bad hand. This type of person is rare, if you are lucky, you've had the honor and privilege of crossing paths with them at one point or another, and it has changed you for the better. Hopefully through their passing, we can all strive to be more like them and what they stood for.

</comment><comment><USER22> Wow. What an amazing individual. And what a terrible tragedy and loss for humanity that he didn't get a full life.

After reading his writing I am very saddened to hear that he never got to write his book - he is an amazing writer and thinker. ([http://stanmed.stanford.edu/2015spring/before-i- go.html](http://stanmed.stanford.edu/2015spring/before-i-go.html) and [http://www.nytimes.com/2014/01/25/opinion/sunday/how-long- ha...](http://www.nytimes.com/2014/01/25/opinion/sunday/how-long-have-i-got- left.html?_r=1))

</comment><comment><USER23> I grieve for Paul's passing but also for Cady's loss.

To lose a father at that age... the picture is truly heart breaking

</comment><comment><USER24> So sad to hear this. When people younger than you start leaving the mortal coil, you can only wake up with thanksgiving in your heart that you have another day to affect change. Truly, every day is a gift.

</comment><comment><USER25> RIP Dr Paul Kalanithi.

Thank you for the post & all those who upvoted a great human being.

</comment><comment><USER26> There is no past or present Govinda. Everything has reality and presence. - Siddhartha (Herman Hease)</comment>


Show HN: We made a Tesseract Python wrapper using pybind11 (not the CLI) - <AUTHOR> https://pypi.org/project/pysseract/ <comment><AUTHOR> We made this because of how much we drool over the python opencv package (cv2), but we didn't want to write as much c++ (here's the relevant file in opencv: [https://github.com/opencv/opencv/blob/master/modules/python/...](https://github.com/opencv/opencv/blob/master/modules/python/src2/cv2.cpp)). The existing Tesseract wrappers in python are (to our knowledge), all CLI- based which puts a limit on what you can do with them and also potentially makes debugging and maintaining your code harder. Into that gap comes pybind11 and our wrapper, pysseract.

We think pysseract covers just about all the bases in terms of core functionality and are really proud to make it open to the world, so we hope you like it! If you have any comments, suggestions or pull requests, we're more than happy to chat.

</comment><comment><USER2> Honest feedback. In the link you start off directly by describing it as "a Python binding to Tesseract API". It would help if you can briefly explain in the first few lines what Tesseract API is and what it is useful for. It would help someone new to this area not only appreciate what your project is but also what the background to your project is.

Apart from that, great job making something new and then publishing it on PyPI to share with the community.

<comment><AUTHOR> Thanks very much for this comment, I will make that change today!

</comment></comment><comment><USER3> Good work! I have to point out that the name kind of reads as "pisser-act" though, which sounds funny in English in case you weren't aware :)

<comment><AUTHOR> Sure does :)</comment></comment>


You're Wrong: an F.A.Q. - <AUTHOR> http://properdiscord.com/2013/10/28/youre-wrong-an-f-a-q/

<comment><USER2> You know, I kind of doubt some of the claims (most people are wrong most of the time), but then again I am probably wrong. Here is community that actually tries to address all kinds of biases: [http://lesswrong.com/](http://lesswrong.com/)

<comment><USER3> I'd go further and say that eveyone is almost definitely wrong and if they are ever even slightly right it is nearly always by accident and usually nobody notices, however for a certain select set of wrong things we have ways (that are probably wrong) of measuring just how wrong they are, so we can slowly try to replace them with things that are slightly less wrong and these things we call 'science'.

<comment><USER2> Can you estimate your probability of being wrong on this one?

<comment><USER3> Yes, but inaccurately.

</comment></comment></comment></comment><comment><USER4> The FAQ is by its own definition wrong, which leads you into a paradoxical state of wrongness!

</comment><comment><USER5> It's 'a FAQ', 'an FAQ' is... wrong.

<comment><USER6> That depends on whether the person pronounces it as an alphabetism or as a word. Some people say FAQ and pronounce each letter (like /ɛf e kyu/¹), in which case they use "an". If they pronounce it more like a word (like /fæk/) then they'd use "a". So, it's a difference that depends on how the person speaks, and may be right or wrong depending on how each person learns to pronounce the acronym.

[1]: My IPA is rusty, so bear with me.

</comment></comment><comment><USER7> my daily dose of nihilism</comment>