Serializable, Lockless, Distributed: Isolation in CockroachDB - <AUTHOR> https://www.cockroachlabs.com/blog/serializable-lockless-distributed-isolation-cockroachdb/ <comment><USER3> By coincidence I was looking around for a datastore. I almost settled on couchbase when I saw this; easy cluster deployment is my main draw after looking at how bad setting up master-master system is in other solutions (hbase, mongo, couchdb all have eterogeneus nodes and weird failure modes)

One quick question since I saw the devs around and I can't find a final answer on it on google: are there any strong roadblock or performance drawbacks against storing principally medium size binary data like images, say, < 100mb blobs?

Yeah I could use something more appropriate but I'd be back to figuring out hadoop installation or fighting s3 eventual consistency.

<comment><USER4> (employee/founder here)

Anything under 64K is perfectly reasonable to store in a CockroachDB column. Between 64K and maybe 1M is trending towards trouble. Values greater than this are going to go through CockroachDB like a goat through a python.

Why is this the case? For starters, at the level of RocksDB, values greater than 64K are not jammed into SSTables (to avoid constantly rewriting them during compactions of the LSM tree). Instead, individual files are created. Also, CockroachDB has quite a lot of write amplification, which is generally OK for structured relational data, but becomes progressively more terrible for large blobs. Write amplification comes from the Raft log, as well as RocksDB's write-ahead log.

What we really need is an integrated storage system for immutable blobs, something we're taking very seriously. Roughly half of the original team which built Colossus at Google are working on CockroachDB, so there's some knowledge of how to go about building such a system.

While we're not sure where it would fall on our roadmap, the idea is that large blob values would be efficiently replicated and maintained through a separate subsystem. The blob column itself would just contain a pointer to the blob. The value in tight integration (a single CockroachDB cluster providing both OLTP SQL database as well as a distributed blob store) would be one deployment & admin console, and transactionally consistent blob column values (e.g. no fighting s3 eventual consistency).

<comment><USER3> Thanks! That's fantastic to hear even if it's going to materialize later/eventually/never at least it's great to know the need is recognized.

Disregarding write amplification issues for a sec, would it make things better to split binaries in 64k chunks and have them in a chunk table keyed by name and offset?

<comment><USER4> I'm not really sure which strategy would benchmark best between 64K chunks, 1M chunks, or even 8M chunks. I think this requires some experimentation. Pushing them all through as 64K chunks has a lot of overhead, and you'd reap the full write amplification. Could you tell me a bit more about your use case? You can email me spencer at cockroachlabs.com.

I've been meaning to work on the "CockroachDB Egg Store" (my disgusting name for a blob storage subsystem) as a Free Fridays side project for a while, but have been distracted with all manner of other enticing options. There aren't enough hours in a week...

</comment></comment></comment></comment><comment><USER5> I love the transparency this project operates with. Looking forward to when joins are implemented so I can try using it with something non-trivial.

<comment><USER6> > Looking forward to when joins are implemented so I can try using it with > something non-trivial.

these types of databases typically don't have joins. you'll be waiting a while.

<comment><USER7> (employee/founder here)

Re joins: we have top men working on it right now. Joins are definitely an interesting problem for a distributed database.

<comment><USER8> Hi Peter, sounds pretty awesome! Quick question though - on your front page you say that CockroachDB does SQL - but if it can't do a join, then how can you say it uses SQL? Or is distributed SQL a different thing entirely? It does sounds like a very limited SQL subset though... I'm sure I must be missing something as I'm not familiar with your product.

Also, what levels of isolation do you actually offer? Serialized snapshot isolation appears to be MVCC, but I see you also have just snapshot isolation - what is the difference?

 _Edit:_ oh brother, the proof you link to, I just realized I bought that book some time ago and never got around to reading it... Transactional Information Systems by Weikum & Vossen, right? time for me to hit the books I guess. Still trying to get my head around that second graph you have drawn, can't work out how you have gotten it :(

<comment><USER7> Hi Chris, we describe CockroachDB as a SQL database because that is what we're aspiring to. The missing functionality (i.e. joins) is on our near-term roadmap.

<comment><USER8> Sweet :-)

Joins over a distributed database aren't easy. Love to see what you have going! The main issue I see with distributed joins are that they need to be done in a single transaction - if even one table gets an insert, delete or update then it invalidated the join. But this distributed serialised snapshot isolation, that sounds like it might be the best way around it.

</comment></comment></comment></comment></comment></comment><comment><USER9> Sorry if this is a little bit off topic This is a startup with employees that is making a non-commercial open source database system. How will they make a financial return on such a product?

<comment><USER10> It's common in the industry to build an open source product and then do paid support, hosting, etc with it.

Joyent/Node Sonatype Nexus

<comment><USER9> OK thanks, I sort of thought that it might be something like that but wondered if I was missing some other angle.

</comment></comment></comment><comment><USER11> How does this work if the clocks drift between the nodes? Does this allow incorrect behavior because one transaction looks like it happened before another?

<comment><USER12> (blog author here)

Interestingly, clock drift does _not_ affect the serializability of the transaction history; this system guarantees that the history is serializable, regardless of clock drift.

However, "serializable" only means that the history is equivalent to _some_ serial ordering of transactions - it makes no guarantee that the equivalent serial ordering is consistent with the real-time ordering of the involved transactions. A history with that property (agrees with real-time) is termed "linearizable", and requires additional rules to guarantee in an environment with clock drift.

As mentioned by knz42, there was another Cockroach Labs blog post (written by Spencer Kimball) that addressed this in some detail; that blog post contrasted our strategy for dealing with drift with that of Google's Spanner.

A quick overview of CockroachDB's properties re linearizability: it guarantees that access to any individual key is linearizable, and by composition any two transactions which share a key (that one of the transactions modifies) will be linearizable with respect to each other. However, if two transactions do not have any overlap in modified keys, Cockroach does not (by default) guarantee the resulting commit history is linearizable. CockroachDB's underlying KV layer does have a "linearizable" flag on transactions that can guarantee this, but it requires that transactions be slowed down considerably; Spencer's blog post addresses some other strategies that CockroachDB is considering to address the issue.

<comment><USER13> Can Cockroach do the equivalent of a "select ... for update" (e.g., PostgreSQL), where you lock one thing while applying changes elsewhere?

Concrete example: We have app that has a "documents" table and a "translog" table. The translog is like a series of diff-patches, representing changes to the documents. When we write to the translog, we first lock the document with a "select ... for update", so that no intervening translog entries can be written concurrently against the same document, then we patch the document, and then we write the translog entry and commit.

We do this with Postgres, and we can do the same thing with Redis' MULTI since Redis is completely single-threaded. I can't think of any other NoSQL data store that allows a similar "lock A, update A, insert B, unlock A"; for example, Cassandra's "lightweight transactions" are only transactional in the context of a single row.

(By "lock" I'd also accept optimistic locking, where you can retry on failure.)

<comment><USER14> (employee here)

It seems to me that your use-case does not require locking specifically - <USER2> just want to make sure no concurrent transactions can clobber your "update A".

As mrtracy explained, such overlapping transactions are linearizable in CockroachDB, so this invariant is preserved without the need for explicit locking.

<comment><USER15> I think it does require locking, because in PostGres (or Oracle) readers do not block writers and writers do not block readers. So to be sure you update the same version you read, you have to select...for update.

<comment><USER16> Having serializable transactions is equivalent to adding "FOR UPDATE" to every SELECT statement, so it sounds like CockroachDB already does what you want.

A typical RDBMS will prevent conflicts by forcing queries to block until they can be executed in a conflict-free ordering. CockroachDB instead detects conflicts after the fact and prevents inconsistent transactions from committing, forcing them to retry. The end result -- that is, the set of possible outcomes of a series of transactions -- is the same, but the performance characteristics will be different.

<comment><USER15> GP said that the use case does not require locking, but in PgSQL (which was mentioned) or Oracle, it does. The default transaction isolation level is not serializable. You don't read uncommitted updates, but reads are not repeatable unless you explicitly ask for that. If you do something like this (in a transaction):

       select ... from T where <condition>;
       ...
       update T ... where <condition>;
       commit;

there is no guarantee that the row you are updating is the same as the one you selected, unless you add "for update" to the select.

 _Also note that two successive SELECT commands can see different data, even though they are within a single transaction, if other transactions commit changes after the first SELECT starts and before the second SELECT starts._

\-- [http://www.postgresql.org/docs/current/static/transaction- is...](http://www.postgresql.org/docs/current/static/transaction-iso.html)

 _A query acquires no data locks. Therefore, other transactions can query and update a table being queried, including the specific rows being queried. Because queries lacking FOR UPDATE clauses do not acquire any data locks to block other operations, such queries are often referred to in Oracle as nonblocking queries._

\-- [http://docs.oracle.com/cd/B19306_01/server.102/b14220/consis...](http://docs.oracle.com/cd/B19306_01/server.102/b14220/consist.htm)

<comment><USER16> Sorry, I don't understand this comment because I can't tell if you're disagreeing with me about anything.

> GP said that the use case does not require locking, but in PgSQL (which was > mentioned) or Oracle, it does.

Right, it does in a typical RDBMS, but not in CockroachDB. The definition of an isolation level is defined in terms of what interactions are possible between concurrent successful transactions. Locks, or the lack of locks, are an implementation detail.

> The default transaction isolation level is not serializable. ... Also note > that two successive SELECT commands can see different data, even though they > are within a single transaction, if other transactions commit changes after > the first SELECT starts and before the second SELECT starts.

I agree. If you set the isolation level to "serializable", such anomalies aren't possible, even if you don't use FOR UPDATE.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> Naively it looks like your conflict resolution is prone to livelock, where concurrent transactions for a key keep aborting each other without getting any work done. The same can happen if you run a single node RDBMS in serializable isolation mode and read a row before writing to it. In that case you can add locking reads on rows you intend to later write to, which avoids the livelock.

Have you done any studies to quantify how bad that effect is in cockroachdb? Assuming the effect exists and I didn't just miss something silly, are there any workarounds since cockroachdb is only OCC? (Exponential backoff between retries and keeping transactions short don't count, I assume those are a given)

<comment><USER18> When transactions conflict, the priority of the losing transaction is internally ratcheted up. At some point it's just higher than everything after it and it succeeeds.

</comment></comment><comment><USER19> I just wanted to thank the team for this writeup. I've been excited to read it since the last post several months back. This was definitely very useful, and very clearly written.

So many thanks!</comment>


Supermodel Karlie Kloss launches Kode with Klossy, a coding camp for girls - <AUTHOR> http://techcrunch.com/2016/04/01/supermodel-karlie-kloss-chats-with-us-about-the-launch-of-kode-with-klossy-a-coding-camp-for-girls/ <comment><USER2> >[https://imgur.com/g595nJ1](https://imgur.com/g595nJ1)

It seems a lot of women have taken up 'coding' not out of interest in complex systems or solving difficult problems, the reasons that have attracted traditional 'nerds' to programming, but because 'coding' and general technology related stuff have become fashionable for women to do.

<comment><USER3> Good, I think one of the main reasons there aren't more women in this field is because it's been unfashionable. So if it suddenly becomes "ok" or fashionable then the women who are actually interested in programming and solving complex problems will be more likely to actually pursue it.

<comment><USER2> People have been doing programming even though it's unfashionable forever for their interest in the activity itself.

So if these people would do it either way, what's the delta of people that you will attract when it becomes fashionable?</comment></comment></comment>


Facebook is about to feature-creep itself into a usage U-turn - <AUTHOR> http://venturebeat.com/2011/09/21/facebook-is-about-to-feature-creep-itself-into-a-usage-u-turn/ <comment><USER2> Facebook's complete and total collapse is about three months into the future.

This is where it has always been, and where it always will be.

<comment><USER3> I couldn't agree more. Granted, I think it will be a much slower process than say, the Digg exodus. I think in the next few months if Facebook doesn't make some drastic improvements (read: simpler), it will be past the point of saving. No turning back.

<comment><USER4> I think MartinCron's point was that everyone always predicts Facebook's demise "three months into the future," and that this will also turn out to be nothing.

If that's the point, I disagree with him. We've seen far too many unstoppable behemoths collapse under their own weight to believe that anything is too big to fail. The difference between Facebook and, say, AOL, Yahoo, IBM, or any other company with a massive user base is that Facebook is run by a CEO with very little experience (compared to AOL, Yahoo, IBM, etc) and no fall-back plan that could let them remain profitable and relevant when their moment on top is over.

<comment><USER2> Thanks for getting the joke.

I'm really just pointing out that every single dire prediction about Facebook's demise hasn't happened, and I don't see how this one is any different from the last N times.

</comment></comment></comment></comment><comment> brown9-2 I think there is another big problems with the "mini-Facebook" live feed in the top right corner which I haven't seen mentioned much:

What is the usefulness of this information? Why am I supposed to care that College Acquaintance A commented on Person I Don't Know's photo? How is this useful to me? 80% of the items in the live feed are noise like this, and 15% of the remaining are items that I can see in the main feed itself.

This, along with the Read/Watched/etc buttons just seem to lower the signal- to-noise ratio.

<comment><USER5> > What is the usefulness of this information?

My guess is that it's there for the sizable population of facebook users who check it compulsively. For a lot of people, the appearance of constant activity is going to be a lot more interesting than the appearance that nothing is happening, even if for only fifteen or twenty minutes. I can see this increasing 'engagement' a lot, and it's easy enough to ignore for people who find it annoying.

And your optimal signal-to-noise ratio is still there in your news feed.

<comment><USER6> But it's bad for compulsive checkers, too, in that it doesn't let you peruse every item in order like the old News Feed design did. It's a ticker, and so far as I can tell, that means that when you miss an item it's gone.

<comment><USER5> You can still do that if your news feed is set to show "Recent Stories" and not "Top Stories". The mini sidebar is mostly stuff that hasn't been in the news feed for years, like when your friends comment on or like other friends' posts.

</comment></comment></comment></comment><comment><USER7> Personally I love the lists function -- adds a lot of utility for me. Subscriptions are a plus too, though I prefer to see content from pages I've 'liked' than people I've subscribed too. I'd much rather have all this info than news feed info from people I'm no longer even acquaintances with. But yes, a bit too much feature creep as a whole. I could do without the Top Stories.

</comment><comment><USER8> honestly, it's kinda funny watch this big screw up of facebook the same day google is ready to offer everyone G+ at its home page...seriously, there's so much stuff going on on the facebook home page now that my brain immediately chose to ignore all the new "features" to preserve my sanity, and I have no plans to try to adapt to it... might as well move to G+

to me it seems like facebook got tired of itself and decided to commit suicide, of course, not before telling everyone go go f%*#& themselves</comment>


Threadless and Vimeo fireside chat, part 2 - <AUTHOR> http://www.37signals.com/svn/posts/295-fireside-chat-skinnycorp-threadless-and-connected-ventures-vimeo-part-2-of-2 <comment><AUTHOR> So many great quotes and insights from this article:

"I hate being called a college dropout. It's like almost 10 years ago already. And I didn't drop out, I just decided to learn on my own.", "i didn't drop out, i got kicked out, get it straight"

"I think it's underestimated how much work we put into it. Our success wasn't random - we work non-stop."

"Fact: The best ideas come from the bathroom."

"When i was out [in Silicon Valley,] every person i met gave me a business card that said CEO. It just seems like everyone is so up in each other's kool- aid they forget to just stfu and work."</comment>


Niall Ferguson and the improving standards of public discourse - <AUTHOR> http://andrewgelman.com/2013/05/04/jesus-historian-niall-ferguson-and-the-improving-standards-of-public-discourse/

<comment><AUTHOR> Niall Ferguson's response - <http://m.bbc.co.uk/news/uk-22417231></comment>


Ask HH: Does this app exist? (robust virtual scratch paper) - <AUTHOR>

I'm looking for the best of two worlds: sketching thoughts on paper and typing, but I'm not talking about an iPad app. I'm talking about something for use with a full keyboard and a mouse.
1) I love to scratch out thoughts on paper while rotating the orientation so that multiple thoughts are all in one place but distinguished by their orientation.
2) At the same time, I also love the convenience of typing on my keyboard.
The key benefits are:
* Able to organize and visualize many thoughts in close proximity without wasted screen space
* Convenient to the workflow of laptop users (ie. no paper, fast typing)
* Liberating -- no imposed structure, no pressure to do something clean, easy to trash
* Fast
* Fun/attractive/natural
I'll describe my deal app to give an idea of what I'm looking for (and because it's fun to conceptualize apps).
As I see it, the salient features would be:
* Able to change text size very quickly (i.e. mouse scroll wheel)
* Able to rotate paper very quickly and smoothly to any degree while the text is maintained
* Able to rotate cursor orientation very quickly and smoothly up to 45 degrees above or below the horizontal
* Super-easy to shift into low-res drawing mode (bonus points if jankety mouse movements are averaged into something that looks like a confident stroke with a pen/pencil - this doesn't need shape and line and curve tools etc, just render what the mouse traces)
* Easy to strike through text (not via formatting, via a slightly different drawing tool -- I imagine you pick the strike out tool, select the area, get a zoom in, and then use the normal drawing mechanism only at the more granular level)
* crumple up the sheet of paper in a really satisfying way to get a new sheet
<comment></comment><comment>-----
In short, it's a more robust facsimile of virtual pen and paper.
I would love an app like this for thinking, but I would use it just as much as a teaching/communicating aid.
Does this or something with similar functionality exist?
If not, how hard would it be for the right person to build? (just out of curiosity) </comment><comment><USER2> I was searching for a page and came across this. I thought I'd respond since no one else has. Hopefully this helps.

A few sites come to mind that fit this idea in one way or another.

<http://balsamiq.com/>

Balsamiq - This app was not purpose built to take notes, sketch and brainstorm. That being said, almost everyone I know that has bought it uses it for that purpose sometimes. I know I do. It is still limiting important ways. Dense or complex textual content just doesn't work. Though it works well for diagramming such information. It doesn't have any dynamic behavior like checkboxes. It can't track the history of a document. And it doesn't support sharing. But I have used it in meetings in lieu of pencil and paper. And it kicks out diagrams that impress customers and would be a nightmare to create in gimp or photoshop.

<http://writeboard.com/>

writeboard - In a minimalist perspective this could work. A big plus is it works with most 37s products.

<http://workflowy.com/>

workflowy - Seems to be the new hotness right now. It's essentially an upgrade over writeboard but without integration into 37s products.

<http://37signals.com/draft>

Draft - But it's ipad specific... /sigh. I haven't seen it in person but by this time everyone knows what they are going to get from a 37s product. Minimalist, consistent design targeted at a specific common business process.

<http://office.microsoft.com/en-us/onenote/>

OneNote - I don't like plugging Microsoft products let alone Office ... but it does everything that you want. Combine OneNote with a tablet pc and it's impressive. I used to work in the .NET world and knew a few architects that used tablet pc 5+ years ago pre-OneNote and they could do all of this back then... but it took time to learn tricks and teach the applications how to read your handwriting. They completely failed at the pricepoint of the device, at marketing it and at making any incremental improvements towards non- powerusers.</comment>


How Meadow Is Building a Company and Community Around Cannabis - <AUTHOR> http://www.themacro.com/articles/2016/04/meadow-interview/ <comment><USER2> The DEA is now looking into moving marijuana off schedule I. That would make it a regular prescription drug, with regular prescriptions, distribution through pharmacies, and insurance coverage. If that happens, the whole "dispensary" business will collapse.

<comment><USER3> In California (and in Colorado before legalization) dispensary customers are overwhelmingly recreational users, given recommendation letters from "specialists" who issue them with no medical exam. Their "demonstrated medical needs" would never pass muster with a, say, Kaiser doctor.

The dispensary business won't collapse because they are not competing with pharmacies. Though it will be fun to watch the insurance companies push back when pot is prescribed for whiplash, colorblindness, and genital herpes.

<comment><USER4> > Though it will be fun to watch the insurance companies push back when pot is > prescribed for whiplash, colorblindness, and genital herpes.

Luckily, the price will be so low, even after-tax, that you won't need insurance to fund your cannabis consumption.

</comment></comment></comment><comment><USER5> They're selling for twice what we're[0] selling for in Winnipeg. More than twice, if you count for the exchange rate. Marijuana is decriminalized in Canada right now ( _Allard v. Canada_ , 2015[1], _R. v. Parker_ , 2000[3]).

If you guys were in Canada, I'd be terrified right now. Thankfully, this blue ocean is undisturbed by the ycombinator fish thus far.

Post April 21st, when the UN convenes, and Canada/Mexico pull-out/renegotiate three of their treaties, the U.S. might be pulled in as a result, and Obama can quietly brag about Marijuana being legalized under his administration (and he doesn't have to take credit!)

0\. [http://medicalcannab.is](http://medicalcannab.is)

1\. [http://www.canlii.org/en/ca/fct/doc/2016/2016fc236/2016fc236...](http://www.canlii.org/en/ca/fct/doc/2016/2016fc236/2016fc236.html?resultIndex=2)

2\. [http://www.canlii.org/en/on/onca/doc/2000/2000canlii5762/200...](http://www.canlii.org/en/on/onca/doc/2000/2000canlii5762/2000canlii5762.html?searchUrlHash=AAAAAQAJbWFyaWh1YW5hAAAAAAE&resultIndex=3) [210]

</comment><comment><USER6> The Meadow team seems to be doing a great job. getMeadow.com is really well done and their move into dispensary inventory management software and a POS system is impressive. I have been following them closely and I was wondering if their move into inventory management might have been due to dispensaries not being that interested in a grubhub style ordering service. I am curious about this because I have been working on a "grubhub for cannabis" site of my own and I have found dispensary interest in this SaaS product to be tepid.

</comment><comment><USER7> I wonder what kind of regulations exist for Meadow. When I opened up a business (not marijuana related) bank account in Colorado, they only had one question: "Is this a marijuana business?"

<comment><USER8> I was wondering the same. Because they're a middle man perhaps they can take in cash and deposit it into a normal bank account?

<comment><USER9> It depends on Federal prosecutors.

Considering that concert and event venues were seized under crack-house laws in the early 2000s simply for hosting music events that featured drug use by attendees, actually facilitating drug use seems like not much of a stretch.

ps. I am in favor of complete legalization including the right to grow your own and sell, barter or gift your product to adults over the age of 18.

<comment><USER8> Good point, although banks are very conservative (with this kind of stuff). My guess is they'll want some kind of assurance from some fed commission to say this is ok or not ok, or some kind of CYA framework to follow.

</comment></comment></comment></comment><comment><USER10> I know it's an unpopular view here, but I hope Meadow fails and that the tide of opinion turns against marijuana legalisation and the Big Dope lobby.

<comment><USER11> Why?

<comment><USER10> The often peddled argument is that cannabis is a "soft drug" is, according to what I have seen, a complete lie. It is capable of completely and permanently altering a person's personality in negative ways. Also, I would not want my kids using it.

<comment><USER12> Food (or the addiction to it) is also "capable of completely and permanently altering a person's personality in negative ways". Outlawing a substance because of the potential for abuse does not solve the underlying problem.

Hopefully, when you say "according to what I have seen", you are referring to respected scientific literature rather than anecdotal experience and heresay...

<comment><USER10> Oh gosh, you're really convincing me.

<comment><USER12> I am trying to encourage you to read both sides and make up your own mind, if you are actually relying on anecdotal data.</comment></comment></comment></comment></comment></comment>


Using Anki and Spaced Repetition - <AUTHOR> https://getpolarized.io/2019/05/25/13-lucky-tips-for-using-anki-and-spaced-repetition-2019.html# <comment><USER2> The data policy of Polar is unacceptable to me. I'd like to be able to read PDF's without third party connections to multiple sites, which Polar seems to do. I once spent part of an afternoon looking at where I'd need to remove analytics, only to find that there are so many places that it wasn't worth my time. Further, some of the dependencies have their own google analytics tracking, which makes Polar a minefield of privacy issues.

I think the idea of the software is great in theory, but I just can't justify constant phoning home when I can easily read PDF's through any other (privacy- respecting) PDF reader.

</comment><comment><USER3> Nice, and open source. Bravo and congratulations. Such a nice step beyond bookmarking webpages.

I have created [https://idorecall.com/](https://idorecall.com/) a web app (soon to work in mobile browsers too). Unlike Polar, you upload your learning files (Word, PPT, PDFs and image files as well as videos on Youtube) into iDoRecall and read them there. If you see a concept that you comprehend or a fact that you want to remember, create a spaced-repetition flashcard (we call our RECALLS) linked to that fact/concept. Then when you practice your RECALLS, if you forget an answer, click a link and the original source file/video opens at the exact linked location where you created the RECALL. Refresh your memory and quickly get back to your practice session. I wrote a few weeks ago about my life experience that led me to create iDoRecall: [https://medium.com/better-humans/how-to-unlock-the- amazing-p...](https://medium.com/better-humans/how-to-unlock-the-amazing- power-of-your-brain-and-become-a-top-student-369e5ba59484)

<comment><USER4> Can you make cloze deletions from the material? I watched the video haphazardly, and was unable to tell.

<comment><USER3> You can simulate cloze deletions very easily:

Q: Earth is the _____ planet from the Sun. A: Earth is the third planet from the Sun.

</comment></comment></comment><comment><USER5> Some interesting ideas, but why are question and answer cards better than Cloze cards? A recent blog post ([https://senrigan.io/blog/everything-i-know- strategies-tips-a...](https://senrigan.io/blog/everything-i-know-strategies- tips-and-tricks-for-spaced-repetition-anki/), [https://news.ycombinator.com/item?id=19831526](https://news.ycombinator.com/item?id=19831526)) suggested Clozes were better. Neither one provided much reason to believe what they said.

<comment><USER6> To prepare for the FAA instrument written and oral exam component of the checkride, I built an Anki deck ([https://ankiweb.net/shared/info/2105122272](https://ankiweb.net/shared/info/2105122272)) with the following principles in mind, all of which favored cloze cards.

* Effective learning: Twenty rules of formulating knowledge [https://www.supermemo.com/en/articles/20rules](https://www.supermemo.com/en/articles/20rules)

* Anki Guide for Medical Students [https://drwillbe.blogspot.com/2011/08/anki-guide-for-medical...](https://drwillbe.blogspot.com/2011/08/anki-guide-for-medical-students.html)

* How to make high quality Anki cards quickly [https://managingmedicine.org/2013/05/14/how-to-make-high-qua...](https://managingmedicine.org/2013/05/14/how-to-make-high-quality-anki-cards-quickly/)

* Anki Tips: What I Learned Making 10,000 Flashcards [http://rs.io/anki-tips/](http://rs.io/anki-tips/)

By default, Anki will show you only a few cards per day. Following suggestions from med students who have to absorb a lot of information quickly, I made the following settings changes:

* Options > New Cards

      * Steps (in minutes): 1 360
      * Order: Show new cards in random order
      * New cards/day: 9999
      * Graduating interval: 1 day
      * Easy interval: 2 days
      * Starting ease: 250%
      * Bury related new cards until the next day: UNCHECKED

* Options > Reviews

      * Maximum reviews/day: 9999
      * Easy bonus: 130
      * Interval modifier: 100
      * Maximum interval: 36500
      * Bury related new cards until the next day: CHECKED

</comment></comment><comment><USER7> I love anki, but I really don't like the code. I wish we could build something modern, but still open, from scratch.

<comment><USER8> Could you be specific? What are the problems with the codebase?

I've found that as a user, there are some really powerful features in Anki. The distinction between notes and cards wasn't clear to me at first, but once I discovered it, it allowed me to create some really useful decks. Being able to create multiple cards, with HTML and CSS styling, testing various elements of the same note is really nice.

<comment><USER9> The fact that `sudo apt install anki` doesn't work out of the box is enough of a problem for me.

Ok, the install works, but the software never runs.

This is one of the reasons my laptop is booting into Windows more often than into Linux these days.

<comment><USER10> This has nothing to do with Anki though right? It's the package maintainers you should be talking to.

</comment></comment></comment></comment><comment><USER11> I've been using [https://chessable.com](https://chessable.com) for learning chess openings, tactics, strategy recently. It's spaced repetition forms of chess books and also courses made specifically for the platform. It works quite well.

</comment><comment><USER12> Polar looks really cool but it looks like there isn't a self-hosted version? I'm basically done with cloud data i don't control (as much as possible...)

<comment><AUTHOR> I'm sympathetic to this and we'll be bringing up a version in the EU and also adding E2E encryption at some point. Just not sure of the schedule at the moment.

Right now though you can use it on a local disk and do a git commit of the whole thing:

[https://getpolarized.io/docs/git-sync.html](https://getpolarized.io/docs/git- sync.html)

The downside is that you have to restart every time. I'm not going to do inotify due to scalability issues I've had with it plus Windows/Linux/MacOS differences are going to kill me.

If you're using the cloud version (in the future when we have encryption plus the EU datacenter option) it will also support partial sync which git doesn't support now. This way you can keep just the most recent 500MB on disk.

Also, Polar is OSS so I'm anticipating others writing Filecoin, S3 and other backends in the future.

</comment></comment><comment><USER13> These are some great tips! Been looking for something similar to this app to help create anki decks directly from documents, kudos.

A sidetrack but are there any good resources on using Anki for learning mathematics? Google brings up a lot of varied and conflicting info. I know nothing is a substitute for working through proofs yourself but surely flashcards can help with memorization of proofs and theorems?

<comment><USER14> Have an anecdote from me, who spent four years at Cambridge learning maths with Anki.

Anki is peerless for learning large numbers of very small facts. I found it very unsuited for learning relatively small numbers of large facts like entire proofs. The best way I found to use it was to select one or two key, short, intuitive (informal) milestones within each proof, and use Anki to associate the theorem statement with those milestones. Any larger unit of memorisation just didn't work for me - took too long to learn, made it a miserable slog to get through the repetitions, and so on. Convert things to lists, where each element of the list is small, and you have a much better chance. I did once try and learn a proof of the three Sylow theorems by means of a 50-card Anki deck, assembling a linked list of the stages of the proof; but even a single sentence of proof can be more mathematically dense than really lends itself to Anki, and I would probably redo it with fewer cards and more intuitive steps (relying on my mathematical ability to fill in the gaps dynamically).

If you want to learn long formulae, I got some success out of setting them to music. I learned the various differential operators in polar coordinates this way, to avoid having to rederive them every time I needed them. (As an aside, I learned Hard 'n Phirm's "Pi" song almost by accident, which got me nearly 150 digits of pi.)

<comment><USER15> My experience attempting math with Anki was similar even though it was just a few undergrad papers. It can still have its place, just it won't get you nearly as far as it gets you when learning a language or history or other more easily digestible things.

It's exactly as you say. Small, quick to review facts. Anything else makes reviews unbearable.

In a somewhat related experiment I'm trying to use it to learn codebases. Important classes, outline of code paths etc. It's challenging. It sort of works and sort of doesn't. I'm finding a similar thing to how you mention learning milestones in a proof. Kind of memorizing hints that can help you rather than full sequences of things.

</comment></comment></comment><comment><USER9> I really wish the Anki Ubuntu package was working out of the box. The Anki deb package in the Ubuntu repositories is useless in Ubuntu 19.04.

So far the developer only supports his .tgz distribution and there's no Snap or similar in the plans.

</comment><comment><USER16> > For a given word you should have the definition and the forward and reverse > translation.

Perhaps for simple/beginner words. But for more advanced words, it's important to realize that our active vocabulary is necessarily much smaller than our passive vocabulary. There are many words we can recognize but can't immediately synthesize ourselves on demand just from an idea or concept (or a translation, even). For anything beyond the most simple words, I think that having the reverse translation doesn't make a whole lot of sense and can be pretty counterproductive in developing one's passive vocabulary.

<comment><USER17> In fact, the opposite is true. Something that is harder to deal with paradoxically is learned faster long term. Look for papers on "desirable difficulties". Best to memorize from L1 to L2, although neither provides an opportunity to acquire the language so make sure that you are only using it as a bridge to help you comprehend native input. Get as much native input as you can. Free reading is usually the easiest way to do that.

<comment><USER18> What does free reading mean in this context? I tried a Google search but got ebook marketing spam.

<comment><USER19> Reading arbitrary text, out of interest (books, magazines, newspapers), as opposed to reading for the explicit purpose of studying the language, in a language class

</comment></comment></comment></comment><comment><USER20> How do software developers use these kinds of tools? What are you putting into them? Surely not things like names of specific functions. How would a tool like this help me learn python vs just coding in python?

<comment><USER21> Pretty much, yes. I do put the names of specific functions in my Anki. And concepts.

Instead of just describing what questions I put into Anki, here's a curated selection of the for the Java language: [https://ankiweb.net/shared/info/647806244](https://ankiweb.net/shared/info/647806244)

</comment></comment><comment><USER22> With all this talk of Polar, I want to mention the tool Weava as a great annotation tool. I use it all the time as a way of annotating web content and PDFs. It has a beautiful aesthetic. No integrations with Anki yet as far as I'm aware. (I have no vested interest in the software, I'm just a big fan.) [http://weavatools.com](http://weavatools.com)

</comment><comment><USER23> > If I'm reading an important Wikipedia page I save it to Polar...

So sick of seeing this pdf annotation software. You're never safe on this site, you'll be reading a comment or blog post then bam it's a polar ad.

<comment><USER24> You're complaining that a blog post on the site for the Polar software contains ads for the Polar software?

<comment><USER25> No, he's complaining about how frequently Polar ads show up on the HN front page. The blog post being an ad.

<comment><USER26> I don't understand. To my knowledge HN does not have ads. Are you saying users posting polar news repeatedly is being considered as ads ?</comment></comment></comment></comment>


Sony Ericsson Forces A Fan Site Into Submission - <AUTHOR> http://techcrunch.com/2011/10/21/sony-ericsson-forces-a-fan-site-into-submission/

<comment><USER2> It never ceases to amaze me how low Sony (and it's related companies) can go. What legal eagle thought this was a good idea? At least a normal business suit should have seen the marketing value.

</comment><comment><AUTHOR> This reminds me a bit of the MikeRoweSoft thing[1] from a few years back. For SE's sake, I hope they come to their senses like MS did.

[1] <http://en.wikipedia.org/wiki/Microsoft_vs._MikeRoweSoft>

</comment><comment><USER3> Yeah, Sony was not so smart here. However, Apple has also done something similar: <http://en.wikipedia.org/wiki/Think_Secret>. However, Apple really seems to have come to their senses in recent years.

<comment><USER4> Sony ≠ Sony Ericsson (two separate companies)</comment></comment>


How do I design a game from scratch? A primer on core loops - <AUTHOR> https://teamavocado.co/core-loop/ <comment><USER3> Gamedev here. Slight correction: what they're describing is the _smallest_ viable loop, not necessarily the _core_ loop.

The core loop is the smallest engagement loop in the game, where the player goes through it inside a single session, and reaches some kind of a stopping point, but also wants to come back and go through it all over again (right away, or next time). It can be the smallest loop, maybe, sometimes, but usually isn't.

For example, in this article, they focus on the loop "player returns the ball <-> opponent returns the ball". This is the smallest loop for sure.

But the core loop here is on the point level: "Someone serves, players exchange the ball back and forth, someone finally misses, the other person scores points. Repeat." Or maybe game or set level, for more advanced players who are no longer challenged by point play.

Similarly in a racing game: the core loop would be a race, not a single lap, or a single pass of an opponent's car. Or in an RPG: hitting the enemy and having the enemy hit you is a tiny loop, but it's not the core loop: doing a quest and coming back for a reward is much closer to what we're looking for in a core loop.

<comment><USER4> I guess in some games there are many loops within loops within loops.

E.g. in "slay the spire", a game i am very fond of, the smallest loop could be "you draw a hand of cards from your deck and decide which card to play on what target" \- usually taking a few seconds to decide or perhaps a few minutes if you are in a very tricky situation where you might win or lose unless you make a carefully considered move. The next loop up could be fighting an encounter, where you repeatedly draw and play cards until the encounter ends, and gain a small reward after completing the encounter successfully (improve your deck of cards). Then the next loop up could be charting a course through a short sequence of encounters & shopping opportunities & boss fights, where you're making a sequence of longer-term planning decisions to improve your deck according to a particular strategy you have in mind and also trying to best exploit the opportunities or unfortunate situations you are presented with. Then the next loop up would be a "run" taking a few minutes (for an early failure) to one or two hours (for a win) where you start the game with a new character and you repeatedly chart a course across 1-2-3 small levels until you either win the run or your character dies in an encounter ending the run -- but in both cases unlocking some meta progression reward. Then the next loop up being unlockable meta progression and actual skill/experienced-based progression repeatedly playing "runs" and losing or winning while unlocking content and also getting better at playing the game.

I'm not sure which of the loops above to think about as the core loop!

<comment><USER3> All games have loops within loops within loops! :)

The best games have a layering of loops of different frequencies, which complement each other. That's what gives games that "one more turn" feeling, if at every turn you're confronted with multiple decision points with different result horizons. So at every point in time, some decisions ripen and are ready to collect, while others require attention but will have payoffs at very different times in the future.

Edit: for roguelites like STS I would count a single run as the core loop. Especially in the presence of metagame, the benefits gathered during any single run add up, and make the player that much more interested in coming back and giving it another try.

</comment></comment></comment><comment><USER5> Alternately, find the entry point to a chaotic interaction and design rules around structured exploration of that interaction. Then adjust into a legible, well-paced gameplay loop to taste.

That's how you can come up with a game like pinball(ball-on-plane physics), Tetris(tetronimos), or Sokoban(box-pushing on the grid) - <USER2> interactions with a lot of inherent complexity, and core loops that are immensely mundane in description. This strategy applies as well to conventional narrative: Set up some absolute rules of the world, then start simulating what happens.

Loop-based workflows are useful in terms of establishing the "economic model" and fleshing out the core concept, but they've only really been in the practiced parlance since the rise of MMOs and subsequently popularized through reduction to the simple compulsion loops that now drive most mobile games. They really don't deserve the central role they've been given lately.

</comment><comment><USER6> The article simplifies too much to be insightful. Looks like clickbait for hacker news ;-)

The core loop already being discussed in other comments.

The vertical slice is when you implement _a part_ of the game to be completely finished (like a demo). It's not a step that is always done after the horizontal slice, but might be done before, simultaneously or after.

In smaller projects neither of those two prototypes is fully implemented, rather it's the challenge of the developers to agree on a equal idea / concept of the project you are working on. The game design document is the documentation of these prototypes. Most often all these aspects are worked on in parallel. A change in mechanics influencing the visuals, a story element influencing the mechanics, etc. and vice versa.

</comment><comment><USER7> I really love this talk by Mary Rose Cook — she illustrates step-by-step how to code a game loop from scratch in 30 minutes.

[https://youtu.be/hbKN-9o5_Z0](https://youtu.be/hbKN-9o5_Z0)

<comment><USER8> Note that the article being discussed here is about gameplay loops; not a game engine loop.

I only mention this because this comment primed me for a discussion about game engine design instead of game design.

</comment></comment><comment><USER9> If you're interested on a more visual/animated explanation for this and other gamedev topics, I highly recommend Yahtzee's Dev Diary series (starting with episode 1 and going forward chronologically): [https://www.escapistmagazine.com/v2/category/yahtzees-dev- di...](https://www.escapistmagazine.com/v2/category/yahtzees-dev-diary/) He sets out to make 12 games in 12 months, so he experiments with many different themes and mechanics, while showing what makes a game a game.

</comment><comment><USER10> I always felt the game loop was the most commodity thing, it is the whole rest of the content and design that is about damn impossible.

</comment><comment><USER11> I thought a game was developed from a blink of inspiration. And will start polishing the game to its proper state.

</comment><comment><USER12> State machines are now called loops?

</comment><comment><USER13> I recommend handmade hero project to learn how to create a game from scratch

<comment><USER14> I would recommend a more flexible definition of "from scratch" that doesn't require reimplementing everything including the stdlib and which allows using libraries like SDL or GLFW or OpenGL so maybe you'll actually finish something.

I mean... Handmade Hero started in 2014. It's 2020. He still doesn't even have the basis for a game yet. It's a great source to learn theory and low level implementation details, but no one would actually approach making a game that way.

<comment><USER13> The purpose of the project is to show how a high quality game can be created. It is educational project, finishing the game is not the main goal. The series are on ~600 episode. Which is around 800 hours. I don't think that is much considering that \- until episode ~200 soft renderer was used to show how exactly rendering works, then he switched to openGL. \- he is diving into complicated topics, like right now advanced light system. \- ~50% or more of time is spent on detailed explanations.

<comment><USER14> A high quality game can be created in Unity, Unreal or Godot. No one needs to know how to implement a renderer from scratch to do that.

I'm not disputing that Handmade Hero is valuable - there is a lot of good theory and insight into process there, but what it does not teach is how to make a game.

<comment><USER13> I see, yes, agreed.

</comment></comment></comment></comment></comment><comment><USER15> Love sport games!

</comment><comment><USER16> I've never designed games beyond tetris, could someone explain in a few words, what the architecture of a RPG looks like?

Some assumptions that may be terribly wrong:

\- The user input loop (keyboard, mouse) is still the main loop somewhere at the very bottom. Or is it different in RPGs?

\- Spawn threads each with their own inner loop, for each complex agent. Not necessarily an OS thread, but something that has its main loop and a stack.

\- Objects that don't have a "brain" don't need a thread, e.g. the ball in the tennis game. All such objects are managed from a single thread.

\- There's a rendering loop, possibly with its own complex multithreaded architecture.

I don't know, did I come close to what's actually happening in complex RPG games?

<comment><USER17> I did some big game dev for some years 10 years ago. The loop was (there was only 1 loop):

delta_t = time between last frame and now

fetch input status

for each entity: entity.think(delta_t) (for example, if a monster is in the state of moving towards me, it will move speed*delta_t units)

Render()

Never saw loops with real threads, that looks like asking for trouble.

If it was a multiplayer game then the think part was on the server and the client would just ready entity state from the network, sent input to server, and render().

<comment><USER16> Interesting. Something suggests a loop that does

        entities.forEach { $0.think(delta_t) }

is essentially cooperative multitasking, whose efficiency is questionable in general and especially on multicore hardware - but I don't know about games. Let alone programming think(delta_t) adds complexity and introduces more states within each entity, compared to real threads with their own stacks.

<comment><USER18> That doesn't work as well as you think it does because entities cannot think on their own. They need to refer to global shared state all the time.

<comment><USER16> In low level audio you have something similar: there's a thread that pulls audio data all the time and it can't stop; at the same time you have potentially lots of things happening in other threads, including the UI one. You can always find ways of minimizing the synchronization overhead by e.g. having a single fast entry point to any changes that happened since the last cycle. With audio you basically end up passing immutable blocks of data with minimal synchronization. So should be possible to do in games, too.

<comment><USER19> The evolution has been from single threaded engines to different core elements being on seperate threads (e.g. renderer and io) to task based scheduling.

Typically though the updating the game itself is a relatively small part of the frame time and can be reasonably tricky to get real gains through parallelisation.</comment></comment></comment></comment></comment></comment>


Any mobile entrepreneurs in the house? - <AUTHOR>

Fellow mobile hackers,
I am looking for some partners for summer YC. If you are passionate about the mobile scene, hit me up.
Cheers! <comment><USER2> Not really a good idea to co-found with someone you've known for only a few days.

Either aim for the Winter session, find a co-founder and start working with him (even if it's only part time) on your project or try to go solo now.

<comment><AUTHOR> Thanks - sounds like a good idea.

</comment></comment><comment><USER3> I'm working on a programming language for mobile phones, Hecl: <http://www.hecl.org>. I'm pretty sure I'm a hacker and not an entrepreneur, though, and in any case I'm not available this summer. I am starting to think about the winter session.

<comment><AUTHOR> In any case, kudos with hecl - sounds cool.

</comment></comment><comment><AUTHOR> email@example.com

</comment><comment><USER4> and your email contact is??</comment>


Why I'm Not Waiting to Prioritize Diversity - <AUTHOR> http://www.xaprb.com/blog/2016/04/18/why-prioritize-diversity-now/ <comment><USER2> We should be choosing the best person for the job, not focusing more on gender or skin color.

<comment><USER3> Fortunately, you can do both.

Diversity is, on it's own, something that's been shown to improve decision making proficiency.

You should read the article, it does a very good job of outlining exactly how conclusive this finding is.

"The best person for the job", as you say, _is_ the diverse pick.

<comment><USER2> Right. You don't look at skin color, gender, or sexual orientation. You choose from a pool of all. The best person for the job.

It's ironic that I get down voted in a discussion about true equality, for actually proposing true equality, by people proposing discrimination in an attempt to fight discrimination.

The reality is that we don't want true equality. All of these calls for 'diversity' are merely punitive. Meant to punish the majority for wrongs they never committed in the first place.

It's pretty telling when a company can come right out and say they only want to hire women, with an entire staff of women, and it's seen as 'diverse' (this doesn't even make sense)

I, for one, will never institute these policies in any of the companies I run. I will always pick the best person for the job.</comment></comment></comment>


WaveNet - <AUTHOR> https://deepmind.com/blog/article/Using-WaveNet-technology-to-reunite-speech-impaired-users-with-their-original-voices <comment><USER2> I wonder if these models can be used for speech impairments related to other neurological diseases like Parkinson's which seems to cause issues with speech clarity as well as loudness. Also, in other areas like NLP, Google has released tools to train your own models. I wish they would do that here as well. They could potentially get access to a lot more training samples if people started training their own models and testing the performance. The benefit to people suffering from speech impairments could be immense if such a technology were more accessible.

</comment><comment> david-gpu @dang Can you restore the original title? "Using WaveNet technology to reunite speech-impaired users with their original voices"</comment>


Why 'mobile first' may already be outdated - <AUTHOR> https://blog.intercom.com/why-mobile-first-may-already-be-outdated/ <comment><AUTHOR> There are some valid points here. In fact, in my case, a programmer who spends more than 10 hours with his laptop, mobile usage never caught up. Things like Shopping, Booking tickets, etc. I typically do on my laptop only.

However, in India, there is a large portion of users who don't get a dedicated computer. Not IT households generally share a computer while each of them uses his/her phone for stuff like shopping, booking tickets, etc. But again these are low to medium income households. Most of the premium customers have all the devices at their disposal.

I am curious to know what is your experience.</comment>


Airbnb Launches Neighborhoods - <AUTHOR> http://techcrunch.com/2012/11/13/airbnb-launches-neighborhoods-providing-the-definitive-travel-guide-for-its-guests/

<comment><USER2> Good move, it was expected after they partnered with vayable.com . experience- based search is gaining more popularity.</comment>


Apple Has a New Cook - <AUTHOR> http://blog.jarederondu.com/apple-has-a-new-cook

<comment><USER2> For a CEO, it doesn't matter just weither or not you apologize for a mistake, but _what_ mistakes you apologize for, and what mistakes you simply correct but do not openly apologize for.

Jobs had a tendency to do the latter. He would rarely admit Apple's mistakes verbally, but would correct the problem as swiftly as possible. This strategy (obviously) worked pretty well for Apple's bottom line, and it's hard to argue that it upset many customers.

Now, I don't have access to the information Apple does, but for this particular situation it seemed much less important that Apple make a apology vs. just improving the product rapidly. You apologize when people feel wronged, slighted, cheated, or otherwise emotionally distraught by your actions.

In this case, there are issues with Maps. But when Maps leads you to the wrong destination, do you feel emotionally hurt by Apple? In my experience, no, you realize the computer messed up and you look at the map and correct it. There's a certain level of tolerance people can have for this type of error they cannot have, for example, when their phones cannot get reception or drop calls due to the antenna.

Beyond this, this is a problem that can be rapidly fixed if Apple dedicated a massive amount of resources to it. As people use Maps, there is a ton of data being collected and lots of low hanging fruit being revealed. The first several months after launch will surely shake most of the major issues out.

Also, I'm absolutely stunned Cook would refer people to other apps (of their competitors!) instead. This is really a punch to the gut for shareholders (disclosure: which I am not) as it looks like they are admitting defeat and willing to concede mindshare for mapping applications.

A much better approach to solving this would be to acknowledge the problem, less apologetically, but more importantly, _become transparent_ with the rate at which issues are being fixed. Publish some metrics that show how hard Apple is working on things being fixed. Push an update to the app that highlights these improvements. Make people realize Apple is putting all of its energy into addressing the problem, and that progress is being made each day.

Or, do what Jobs did, and just deflect criticism while the engineers fix the problems for a few weeks. Eventually everyone will forget about it, Maps will be the best mapping experience on iOS, and it will become a distant memory.

Knowing when to take these paths is important and IMHO it is not a good sign that Cook went down this road for this particular issue.

<comment><USER3> I agree with what you say, except for wrong directions being a minor issue. A very typical use case for me is meeting somebody at a place I haven't been before. I've frequently trusted Google maps to take me there and it has never sent me to the wrong place. Sometimes it doesn't know the place I am looking for which is acceptable but the thought of ending up in a completely different location, with people waiting for me, seems like a much bigger problem than bad reception. I would not just shrug and correct the wrong information, I would be furious.

And the derived problem from this is given the knowledge that there are _some_ problems, I would never trust Apple maps unless I know where I am going anyway.

<comment><USER2> I agree its a real problem. I don't think it's a minor issue, but it has some attributes that reduce its severity with regards to choosing an appropriate public response by Apple:

\- It's likely rare. Either people catch the mistake early (as you mentioned) or the algorithm actually works.

\- It's correctable. Sometimes you can eyeball the map, sometimes you can see how it messed up and work around it. Sometimes you know better and "override" it by driving the way that you know. Ultimately you can ask someone or pull up google.

\- It's unclear where you direct your anger to. When your phone drops calls, you blame AT&T. If it's the hardware, you blame Apple. If there is an error in the map, who do you blame? Us techie's realize the details, but do most people know who authored the maps? If people understood it was Google before they might still think it's Google's fault now. If the algorithm gives you the wrong directions, do you blame apple or the "stupid computer"? It seems like there is less of an emotional anger towards Apple, the company, when this error occurs (excluding those of us who understand the intricacies of what parties are involved for what types of error.)

A big dynamic here is that people were used to a certain level of quality from Google. Did they know it was Google? Do they know who is to blame for the step backwards?

I'm certainly curious what specifics prompted this response. Cook has never been in charge before and speaking from experience it's always _incredibly_ tempting to want to make a public statement and backtrack when the mob is yelling at your door, but despite common advice it's not always the right decision for the company.

<comment><USER4> I feel like im missing something, is there a real reason why they cant just reinstate the google maps app? That's the only thing holding me back from buying the phone (the fact that its not there is scary, but the fact that consumers are left hanging with a few words of "sorry" is more concerning)

I get why Apple doesnt want to be Googles friend, but...this has gone too far.

<comment><USER2> I think their license is due to end soon and it would probably be a logistical nightmare.

If you live in the bay area or NYC area I've not experienced any major issues with Maps other than it asking me to take slightly more roundabout routes (but perhaps marginally faster ones) than necessary once in a while.

</comment></comment></comment></comment></comment><comment><USER5> The thing is, the map apology letter _wasn't_ "something out of a new playbook". When Apple dropped the price of the original iPhone $200 two months after it went on sale, people were _pissed_. Steve wrote a public letter of apology (<http://www.apple.com/hotnews/openiphoneletter>). It was in many ways a similar situation: Apple did something that hurt early adopters, and the CEO offered an explanation as well as a heartfelt apology to the effect that everyone expects better from Apple. The closing paragraphs are even remarkably similar:

> We want to do the right thing for our valued iPhone customers. We apologize > for disappointing some of you, and we are doing our best to live up to your > high expectations of Apple.

vs

> Everything we do at Apple is aimed at making our products the best in the > world. We know that you expect that from us, and we will keep working non- > stop until Maps lives up to the same incredibly high standard.

</comment><comment><USER6> I hate how everyone has decidedly become a Steve Jobs expert, so I won't even begin to make a comment or guess on what Jobs would or would not have done.

But it's suffice to say that Tim Cook's apology really isn't something that's so mindblowing. The debacle over Apple Maps is so huge that Cook had _no choice_ but to apologize. People around the world are not only outraged by how inferior Apple Maps is, but they are now ridiculing it, to the point where many believe it could actually impact sales of the iPhone 5, and drastically slow down migration to iOS 6. Someone had to do _something_ to quell the outrage, and for something of this magnitude, that someone had to be the CEO.

It's pretty coincidental that another huge debacle, the NFL replacement ref situation, both came to a head in the same week. Roger Goodell, also had to issue an apology to fans as well, for letting the situation get so out of control that it affected the quality and reputation of the NFL. It's the exact same playbook (pun intended) as Tim Cook's.

<comment><USER7> Yes, someone had to do something, except Cook /hasn't/ done anything except put out a shitty map app. Unless you count apologizing and pointing to Bing Maps as doing something. Why not tell people to buy a Microsoft phone as well?

</comment></comment><comment><USER8> _"Cook didn't think the iPhone needed to remain at 3.5" 4:3 forever (as made plain with the iPhone 5)."_

Does the OP really think that Jobs didn't know about the next iteration of iPhone (or any of Apple's other upcoming products)? He stepped down as CEO just over a year ago and the iPhone 5 was announced only recently. Designing, prototyping, iterating, building and shipping stuff takes time.

</comment><comment><USER9> _Cook took the opportunity to reflect upon the lessons he learned from Jobs before his death last October, explaining that the founder never wanted Cook to dwell on what he would have wanted after he died. Instead, Jobs wanted Cook to avoid thinking about the past and instead look to the future, focusing on creating the next great thing.

"When he called me to his home to talk about being the CEO and subsequently the discussions we had, he told me, 'I witnessed what happened at Disney when Walt passed away,'" Cook said. "He said that people would go to meetings, and all sit around and talk about, what would Walt have done? How would he view this? And he looked at me with those intense eyes that only he had, and he told me to never do that, to never ask what he would do. Just do what's right. And so I'm doing that."_ [1]

[1] [http://arstechnica.com/apple/2012/05/apple-ceo-tim-cook- stev...](http://arstechnica.com/apple/2012/05/apple-ceo-tim-cook-steve-taught- me-that-the-joy-is-in-the-journey/)

</comment><comment><USER10> Oh good gravy. While it's wonderful that an apology of sorts was offered, that's not unusual in Apple's history.

They blew this, they blew this, they blew this. They failed to reset customer expectations, walked directly into a woodchipper with a serious platform regression, and gave their competitors a talking point that will actually stick for the next few years.

The only interesting bit of Apple Kremlinology that can be engaged in here: did they intentionally portray the maps as an advance in an attempt to keep iphone 5 pre-orders up? Because there is no way Apple had convinced themselves this was launch worthy internally. They cannot have become that self-unaware already.

I imagine this apology was written months ago.

<comment><USER11> Actually, since the maps coverage is pretty good in California, I wouldn't be that surprised if they didn't realize just how far behind Google their POI data was internationally. Also, even if they did realize this, I don't think they would gone forward so eagerly if they realized how intense the backlash was going to be.

<comment><USER10> I don't know... it is interesting that they have a vastly superior Maps system in China now, and a relatively high quality set for the West Coast. (edit: areas of extreme competitive importance)

But I can't believe that they would go toe-for-toe on the map client feature set without similar attention being paid to overall database quality.

They've licensed dozens of data sources, they've bought entire companies, they've been working on this for years...

I think they pulled the trigger for a variety of reasons and then braced for impact. This change wasn't taken lightly.

<comment><USER12> "...it is interesting that they have a vastly superior Maps system in China now, and a relatively high quality set for the West Coast."

And this is exactly what Jobs would have led with. He would have pointed out any and all areas where Apple's Maps performed better than Google, before segueing into how they are addressing the remaining problems. I bet he would have some clever statistics on just how often Apple's maps are right. And he would have tons of examples of mistakes on Google's maps, to create some doubt about whether Apple was really worse (remember all of the other phones that Jobs tried to use to demonstrate that iPhone wasn't the only phone suffering from "death-grip" issues during antenna-gate?).

I sure miss him.

<comment><USER13> I for one appreciate Tim Cook's straightforward honesty (a total operations guy who knows you can't bluff physics) to Jobs's bluster (salesman/style maven)

</comment></comment></comment></comment></comment><comment><USER14> "Yes, some may raise the argument that the reason why Jobs was rarely in situations to apologize, was because, for the most part (minus Siri), he pushed excellent and complete product"

Please, macosx releases have an history of being bug ridden. So much that one upgrade was free (the first one, if I recall correctly).

The man built his own legend by rewriting history and bullying press. And selling computers, phones and walkmans, too.

<comment><USER15> A recent example is the change in MBP battery life with Lion; check the first bar chart in [http://www.macobserver.com/tmo/article/os-x-battery-life- ana...](http://www.macobserver.com/tmo/article/os-x-battery-life-analysis- from-snow-leopard-to-mountain-lion).

</comment></comment><comment><USER16> This is fucking stupid and wrong for a number of reasons. It is incorrect to think that Steve Jobs wasn't involved in Maps and the iPhone 5. He worked at Apple almost until he died, and these new releases from Apple were in the works while Steve was around.

</comment><comment><USER17> I don't think that Apple should have pulled the apology card for this. Apologizing on this scale will surely help customer frustration, but it's not necessarily something you can do very often. While apologizing may have a positive effect, to be honest the problems with the maps app really weren't -that- bad. It's not like the antenna issue where nobody could use their phone if they held it wrong.

They really should have saved the apology card for mending an issue much more dire. Now that they've used it up, they can't really publicly apologize for anything for quite a few years lest their brand become tainted.

<comment><USER18> _to be honest the problems with the maps app really weren't -that- bad_

It's astonishing that people keep saying this even after the CEO has taken the almost unprecedented step of issuing a formal apology. Maybe the new maps were ok for _you_ , but they're clearly a disaster for a lot of users and well below Apple's usual standard. Apple fans are doing them a disservice by refusing to admit and address their weaknesses.

<comment><USER17> Looks like I omitted a word in my original post, I meant to say that the fallout from maps wasn't that bad. People can still replace their maps app with google or bing or whoever's map application. The problems with the iOS maps aren't a showstopper for the entire platform like the antenna issues were. There were a lot more people angry over the antenna issues than over the maps issues, so I don't really see how the apology was warranted.

<comment><USER18> Presumably nobody knows more about this problem than Tim Cook at this point and he saw fit to issue an apology I'm sure he very much would have preferred not to give. You don't imagine that your own anecdotal experience gives you special insight here, do you?

</comment></comment></comment></comment><comment><USER19> Steve jobs did let Ping and Mobile Me go out the doors.

Oh yes, and the Apple Cube.

<comment><USER20> Neither Ping nor Mobile Me replaced previous crucial functionality.

<comment><USER10> To quibble: Mobile Me was a thorough replacement for iSync.

<comment><USER13> At a higher price.

</comment></comment></comment></comment><comment><USER7> Why are we apologizing for and defending Tim Cook? The fact is that the difference between Cook and Jobs wasn't that Cook apologized for putting out an incomplete product -- it's that he would put that product out to begin with. Jobs was infamous for signing off on and testing his products himselves. This version of Maps would clearly never have been released by Jobs -- that's why he would have never apologized for it.

<comment><USER13> The hagiography of Jobs.hasn't been approved by the Pope yet. So we don't have to ignore Jobs' mistakes yet.

</comment></comment><comment><USER21> I think the OP came up with a conclusion without evidence and walked backwards to prove his point.

</comment><comment><USER22> To my memory, Jobs did publicly apologize for the Mobile Me problems. He also responded to public pressure and changed direction on allowing native apps in the iPhone, with a public letter linked on the homepage of Apple.com.</comment>


The Debasement Puzzle: an Essay on Medieval Monetary History (1997) [pdf] - <AUTHOR> https://www.minneapolisfed.org/research/qr/qr2142.pdf <comment><USER2> The debtor explanation seems like it would be fine to me because it seems like lenders would not be likely to want to renogotiate their loans every time the money is debased, nor would most debtors have the leverage to demand it. Seems like it would be much easier to just get new coins.

<comment><USER3> > The debtor explanation seems like it would be fine to me because it seems > like lenders would not be likely to want to renogotiate their loans every > time the money is debased,

The paper doesn't explain this in the clearest way, but they do have a strong incentive to negotiate: they can capture some of the money that the debtor would spend on seignorage.

Suppose Dave owes Carol 5 francs, and that old franc coins contain 4 oz of gold, while new francs contain 2 oz gold. So Dave can take 3 old francs (= 12 oz gold), convert them into 5 new francs (= 10 oz gold, with the mint taking 2 oz gold in gross seignorage) and pay off his debt that way. But if Dave and Carol renegotiated, Dave could pay only 11 oz of gold, and they'd _both_ be 1 oz of gold better off than if Dave had paid his debt in new francs.

<comment><USER2> Many years ago, I went to credit counseling because I was just stupid with credit card debt in my early 20s. The credit card companies instead of negotiating with me, raised my payments. I declared bankruptcy and they got nothing, instead.

I don't think that debtors in lenders were any better at negotiating in the middle ages than they are today. When you're a debtor, and you know you can get 'free money' by going to the mint, why would you bother negotiating with someone (a lender) who has an incredible amount of power over you.

<comment><USER3> Why wouldn't the creditor _offer_ to accept 11 oz of gold rather than waiting for the debtor to come to them with 10 oz that they have to accept?

</comment></comment></comment></comment><comment><USER4> "[..] come to a counter at the mint and deliver their metal[..], and they would be paid back, within a few weeks, in newly minted coins of the same metal they brought in. They always received back less fine metal than they brought in."

If the quantity of metal was the origin of the value and they weighted the coin when using it, why they need the mint in the first place? why not to use the metal directly?

<comment><USER5> I'm really guessing, but perhaps the quality of actual metal is difficult to assess, but a minted coin with the right markings carries a promise of correctness. Counterfeits are still possible, of course, but less likely.

</comment></comment><comment><USER6> > _In our opinion, the facts we have presented suggest that existing models of > commodity money, which assume well-informed agents, are not capable of > successfully confronting the facts we present. A potentially fruitful line > of research may be to weaken the full-information assumption_

So, the solution to the puzzle is just that humans aren't actually all rational and well-informed?</comment>


Can You Please Add A World IPv6 Launch Badge To Your Blog Or Website? - <AUTHOR> http://www.internetsociety.org/deploy360/blog/2012/05/can-you-add-a-world-ipv6-launch-badgebanner-to-your-blog-or-website/

<comment><USER2> No, unless my blog/site specifically targets networking people. It's _our job_ as technical professionals to keep people that don't want/need to be technical professionals from caring about this sort of thing.

<comment><USER3> _It's our job as technical professionals to keep people that don't want/need to be technical professionals from caring about this sort of thing._

No it's not. As users of the Internet, we all share responsibility for ensuring that it can grow. It's important to educate regular users as to why there are now two Internets, and how the first Internet (v4) is now deprecated.

They shouldn't be expected to take any actions to use the new Internet we're building for them, but they should know that it exists. It's like saying "I use Windows" even though the user did not actually write Windows. He still needs to know what OS he uses so he can understand compatibility issues. Similarly, he needs to know if he is reachable via IPv4 or IPv6, so that when something doesn't work, he has a mental frame of reference of what to check.

It's nice to embrace the magical idea of "everything will magically work with no training", but there's only one truly intuitive interface. Everything else is learned. Treating people like idiots only angers them.

<comment><USER2> _They shouldn't be expected to take any actions to use the new Internet we're building for them, but they should know that it exists._

If they don't need to take any action regarding low-level networking infrastructure, why should they have to concern themselves with it?

Why can't engineers, writers, teachers, workers, bureaucrats, manual laborers, poets, bus drivers, carers for children, and on and on just use this utility? It's not treating them like idiots to not tell them exactly what sort of pipes their water goes through to get to them. These infrastructure concerns are just millions of details about their everyday existence that they don't need to know. What makes our particular utility special that they should have to be told about it?

They should be able to find out if they care or are just interested for curiosity's sake. But otherwise it's just bothersome clutter to them.</comment></comment></comment>


Why We'll Never Stop Talking About Steve Jobs - <AUTHOR> http://www.wired.com/gadgetlab/2012/10/what-we-talk-about-when-we-talk-about-steve-jobs/

<comment><USER3> Jobs' death was really amazingly well-timed. He died just at the moment when the open communication culture he helped build was taking off. So his death (and in particular the response) reflects his life's work most remarkably. For the first time in history, the death of a "great man" became almost instantly the subject of debate and analysis, conducted in thousands and thousands of blog posts, hundreds of thousands of comments, tweets and Facebook posts. The debate quickly became recursive - articles about "Why Steve Jobs was great" generate articles about "Why we talk about Steve Jobs" which in turn generates response (such as this), "Why we talk about talking about Steve Jobs." And so on. Only a year later and people are fervently discussing his legacy - <USER2> arguments in real time yet saturated with self-consciousness of history. And such discussion in itself changes the object being discussed.

</comment><comment><USER4> > Why We'll Never Stop Talking About Steve Jobs ...

And I though that had already happened.

> Jobs has joined the pantheon of greats who advanced science and industry and > society itself ...

Maybe we should let history decide this, over a much longer time than has passed since Steve's departure. It's already clear that he can't be compared to Edison or Tesla, both of whom invented technology, where Steve promoted technology invented by others, including me.

Steve might eventually be compared to Ford, but that's the only one of the three to whom he is compared that actually makes sense.

<comment><USER3> With all due respect to your contribution to current technology, I think Jobs can and probably should be compared to Edison or Tesla, not because he did the same kind of work (he didn't) but because he illustrates the shift in the quality of important achievements between T/E's era and ours, and performed an equivalent role in helping bring about the core developments of our time. In Tesla and Edison's case, these core developments involved the application of novel principles and the development of radical new core technologies. In Jobs' case, this involved tying together all the strands of post-WWII technologial innovation into one streamlined package, creating an aura or mystique, and dragging the mainstream of society online. Once people like Tesla and Edison fill out the core innovations at a certain level of technology, the important next step becomes working out what to do with those innovations at a higher level of abstraction. Jobs' was active several steps up the abstraction ladder.

An important part of what he did was simply accessibility or marketability. Forgive me if this sounds like I am diminishing the role of relatively pure technical work and innovation (work which Jobs certainly made the most of and largely did not contribute to directly from my understanding) but making technology attractive and accessible was a very important step during this period. Jobs' work may not have the romance of Tesla or Edison, but from what I've read it sounds like he was an exceptional (if very lucky) individual who combined a certain vision (of course continuously evolving) with a certain aggressive determination to realise that vision (catalysed by the incredible opportunities he was given in life). He was a different man, not better or worse (though maybe less romantic) to suit a different time.</comment></comment>


Italy's Struggling Economy Has World's Healthiest People - <AUTHOR> https://www.bloomberg.com/news/articles/2017-03-20/italy-s-struggling-economy-has-world-s-healthiest-people <comment><USER2> Yep, and also Italians "do it better", what gives?

It is rare to see all together such a set of (I have to presume) unrelated items, such as the popularity of a TV show as related to a (presumed) excess of physicians, or the high public debt or the scarcity of jobs connected (How?) to a long life.

About the Mediterranean Diet and the availability of fresh products (which in itself are IMHO very good things) it is doubtful that the good people of Iceland share the same, still they are almost as long living as the Italians.

<comment><USER3> This has gotten a lot of study and comes up often here. The issue appears to be the same as with the so-called Hispanic Health Paradox where poor and likely obese Hispanic Americans have better health and life expectancy than the general population. The cause appears to be socialization and lifestyle as both Southern Italians and Hispanic Americans tend to form large accepting family groups. What is less discussed is the downside of this which is that with more social bonding and acceptance these physically healthy people are less likely to rebel in general or become extremely wealthy from business success. Neurotic and unhealthy people may have more personal challenges but build more dynamic economies and societies.

<comment><USER4> Less likely to rebel, really? WASP-powered US has had the same system of government for more than 200 years. In that timeframe, Spain and Italy saw several revolutions, upheavals, counter-revolutions, and fundamental shifts in democratic systems during peacetime. Even in the 1946-92 timeframe, the so called "First Republic" in Italy had a different government almost every year, and at various points it was on the verge of civil war.

I think you are confusing economic dynamics with political ones. Despite What Marx would say, the two don't always require each other.

<comment><USER5> I think you're misreading the above poster. He's not generalising to the entire Italian (/Spanish) population.

</comment></comment></comment></comment><comment><USER6> Could it just be possible that money/economics/choices/more/more/more is not what makes humans satisfied?

<comment><USER7> does satisfied mean healthier?

<comment><USER6> Does forced eating of healthy food and exercise mean healthier?

My original comment was more about lifestyle than anything else. Healthier lifestyle does not require a higher GDP.

<comment><USER7> > Does forced eating of healthy food and exercise mean healthier?

I think it does, but i totally agree that healthy lifestyle does NOT require money.

</comment></comment></comment></comment><comment><USER8> I am italian, living in Italy. A part that we have a lot of taxes, if Italy had not 40% of taxes on my salary, probably economy will be better than Germany. There are a lot of corrupt politicians.

A part that, I am 38 and everybody says I look around 5 years younger, I am trying to understand why. It would be really interesting to know it, so I could keep going in the same direction. Maybe cause i always try to avoid stress? Maybe cause I always arrive 5 minutes late? Maybe cause I always try to joke and laugh every day? I do not know, I would like to advice others as well.

</comment><comment><USER9> It's also worth noting that Italians experience some of the lowest heart disease rates in the world - one of the major killers in North America. If you want to live long, I guess live like the Italians?

My completely unsubstantiated theory behind this goes like this:

1) A diet rich in (non-animal) oils, i.e. Olive oil

2) Live in a sunny, but not oppressively warm, country.

3) Give family time and traditions far more priority than career ambitions.

<comment><USER10> Smoking is very common in Italy and I'm curious to know if the study elaborated on it's effects on these long-living Italians.

<comment><USER2> Well we are still going around by clichés, it is not like all Italians have a large family, are dark, wear a moustache, smoke heavily, sing frequently and have only warm, sunny climate.

We don't even have anymore (with some exceptions of course) restaurants with white/red checquered tablecloths ;).

More or less there are 60 millions people spread over a country that is roughly 1300 Km (that is 800 miles) from north to south, it is hard to generalize about diet, climate and social structures ...

To give you an example, there is a (invisible) line just north of Bologna, recipes from regions above it traditionally use butter or animal fat, recipes from regions below it use olive oil.

<comment><USER4> Well, lard is pretty popular in Bologna and Modena too ;) but I strongly agree with your overall argument. Italy is very different throughout, and changing all the time; stereotypes don't help medicine.

</comment></comment></comment></comment><comment><USER11> Struggling in Washington DC terms.

Thriving in human terms.

</comment><comment><USER12> Italy has the 8th largest economy (by 2016 GDP) in the world. this is struggling? Italy doesn't have a struggling economy. Italy has a disappointing growth forecast to those who conflate growth with health. Tumors grow rapidly too.

</comment><comment><USER13> In-fact people in Iceland probably get a lot of fish oils.

Plus, their green houses grow a lot plant products that go directly to market.

The freshest food and short delivery lines may be the important factors.

</comment><comment><USER14> If you translate "struggling economy" to "people use money they didn't work for" then it's not so surprising.

<comment><USER15> Ah yes, definitely don't have axes to grind here.

</comment></comment><comment><USER7> Which is not surprising, it's both how much money you make and how you use it.</comment>


Photo of Zuck's notes, by AP's andyharnik - <AUTHOR> https://twitter.com/becket/status/983846618263891968/photo/1 <comment><AUTHOR> Direct link to :large version on twitter image host [https://pbs.twimg.com/media/DadTMxlW4AAUz_h.jpg:large](https://pbs.twimg.com/media/DadTMxlW4AAUz_h.jpg:large)</comment>


Show HN: ThereOrSquare – Casual event app with planning tools - <AUTHOR> https://thereorsquare.com/ <comment><AUTHOR> Our goal is to have more free/premium tools down the road to accommodate all types of casual events. Feel free to give us any feedback on problems you find, viability issues, and feature recommendations. We would love to hear what you have to say. Thanks!</comment>