SQLite Release 3.25.0 adds support for window functions - <AUTHOR> https://www.sqlite.org/draft/releaselog/current.html <comment><USER5> [https://www.windowfunctions.com](https://www.windowfunctions.com) is a good introduction to window functions.

Besides that, the comprehensive testing and evaluation of SQLite never ceases to amaze me. I'm usually hesitant to call software development "engineering", but SQLite is definitely well-engineered.

<comment><USER6> This looks great, but I couldn't get through the first question on aggregate functions. Are there any SQL books/tutorials that go over things like this?

A lot of material I've seen has been like the classic image of "How to draw an owl. First draw two circles, then draw the rest of the owl", where they tell you the super basic stuff, then assume you know everything.

<comment><USER7> (self plug) try pgexercises.com. It's in a very similar vein to windowfunctions - I understand it was one of the original inspirations - <USER2> it covers a much wider range of material, with a gradual growth from very basic stuff up to slightly advanced.

<comment><USER8> I'll vouch for this plug! I've spent quite a bit of time learning SQL (and Postgres specific stuff), and this was one of my favorite resources.

I can also recommend Learning SQL by Alan Beaulieu, which was recommended in some HN comment. After looking into various books, some of them Postgres specific, I found this one to be the best for learning from scratch.

</comment></comment></comment></comment><comment><USER9> For Python folks interested in using these features, you might be interested in this post [0] which describes how to compile the latest SQLite and the python sqlite3 driver. I've got a fork of the standard lib sqlite3 driver that includes support for user-defined window functions in Python as well which may interest you.

[0] [http://charlesleifer.com/blog/compiling-sqlite-for-use- with-...](http://charlesleifer.com/blog/compiling-sqlite-for-use-with-python- applications/)

[1] [https://github.com/coleifer/pysqlite3](https://github.com/coleifer/pysqlite3)

</comment><comment><USER10> The query optimizer improvements are pretty cool too.

Even though, I don't really understand that one : "The IN-early-out optimization: When doing a look-up on a multi-column index and an IN operator is used on a column other than the left-most column, then if no rows match against the first IN value, check to make sure there exist rows that match the columns to the right before continuing with the next IN value. ". I would think there's no need to check the right column(s) if the leftmost one has no match...

<comment><USER11> Suppose your query is:

       SELECT * FROM tab WHERE key1=1 AND key2 IN (2,3,4,5);

SQLite starts by doing a single b-tree lookup on the index on (1,2) - <USER3> from the key1 field and the first possibility of the key2 field. If that works, then it proceeds to look up (1,3), (1,4), and (1,5). But if the (1,2) lookup fails, then it backs off and tries just (1, _) to see if that matches anything at all. If (1,_ ) finds any record, the search proceeds with (1,3), (1,4),etc. But if (1,*) fails, the search stops immediately.

The insight here is that a multi-column key value can be resolved using a single binary search. It is not a sequence thing where we first look for the key1=1 and then do a separate lookup in a subtree for key2. Both key1 and key2 are resolved in the same binary search.

<comment><USER12> This is what I expected the optimization to be, except I'm still not sure that I understand the wording of "that match the columns to the right", I'd expect that to be "that match the columns to the left", after all, you're checking the existence of (1,* ), not of (* ,2) or (* ,3).

</comment></comment></comment><comment><USER13> A bit offtopic but has anyone tried to replicate sqlite databases? Using rqlite [https://github.com/rqlite/rqlite](https://github.com/rqlite/rqlite) or something else?

<comment><USER14> I am interested in this topic as well, although sqlite explicitly says that it is not meant for client-server configuration. I still want to see if it is feasible and someone is using it in production.

<comment> move-on-by I got thrown into a legacy web project that used sqlite as the database. It was a small internal-only app, I guess the original developer(s) figured it was so small that sqlite would be plenty and it would reduce the environment complexity.

Unsurprisingly they were wrong. It was small, but sqlite couldn't handle multiple users. I believe this was before sqlite had WAL support, so reading would lock the DB. The 'solution' was to split the sqlite database into many smaller DBs that would allow users to use the site at the same time as long as they were in different areas. This greatly added to the complexity of the application. Some reports would need to access multiple databases to get what it needed, so it would still lock out people. Complexity was much higher then having all the data in a single postgresql/mysql database. All the users hated the system and often ran into DB lock issues.

> sqlite explicitly says that it is not meant for client-server configuration

They are right and their advice should be heeded.

<comment><USER15> Since 2010, SQLite has had Write-Ahead-Logging. Perhaps your project was using an older version of SQLite? [https://www.sqlite.org/wal.html](https://www.sqlite.org/wal.html)

</comment></comment></comment></comment><comment><USER16> A bit off topic, but would be great to use SQLite in the browser instead of IndexedDB.

I love relational databases, but you're almost forced into a NoSQL approach when developing a SPA since the client (browser) only supports simple key -> value storage. It would be a dream to use LINQ-to-SQL, or similar type safe query DSLs like Slick or Quill (Scala), or Esqueleto (Haskell) in the browser.

Combine that with a single language driving the backend and frontend and voila, no duplication of model, validation, etc. layers on server and client.

One can dream I guess, but the reality is NoSQL fits the modern web app like a glove, for better or worse.

<comment><USER17> This almost happened. Ten years ago "WebSQL" was being considered as a standard - it would have introduced SQLite-backed databases as a built-in browser feature: [https://en.wikipedia.org/wiki/Web_SQL_Database](https://en.wikipedia.org/wiki/Web_SQL_Database)

The W3C dropped it in November 2010 because they were uncomfortable supporting a web standard which was entirely tied to a single implementation of SQL (SQLite). I adore SQLite but I think the W3C made the right call there - <USER4> standards need more than one compatible implementation.

<comment><USER8> > I adore SQLite but I think the W3C made the right call there - web standards > need more than one compatible implementation.

could you elaborate on that? I get the impression that now, eight years later, we're much worse off. I don't really see the upside of _not_ going for what is, AFAIK, a relatively vanilla implementation of SQL.

<comment><USER17> A web standard needs to have more than one implementation. If you allow one single implementation to define the standard, you get something like Flash.

I don't have a particularly strong practical argument here: for me this is more of a fundamental principle for how the web should work.

<comment><USER18> Flash was a closed source plugin that was added to the browser as a binary blob. It could be updated by the user, and because it frequently had security bugs users were frequently urged to update. Those updates also often introduced new features, which content providers started taking advantage of once a significant number of people updated, putting pressure on the rest to update too.

SQLite is open source that would have been compiled into the browser by the browser vendor. A typical user would not have the means to update it separately from the rest of the browser.

So why couldn't W3C pick a particular release of SQLite, list a specific subset of its features, and declare that this, as described in the documentation for that specific version, is the standard?

</comment></comment></comment></comment></comment><comment><USER19> > Named window-defn

<3

I really prefer that syntax and I'm always a little sad when I have to copy- paste windows across average, total, count, standard deviation, max, min… I fully admit that it's syntactic sugar but it's the elegant kind.

</comment><comment><USER20> I'd really really like if they improved "alter table" to include dropping/renaming columns/constraints, even if it required rewriting the whole table.

<comment><USER21> There is nothing stopping you from doing it yourself. The Sqlite FAQ[1] even has an entry on it.

Two things holding this back: 1. code being inside our outside sqlite would not be much different. 2. the amount of additional test code would be humongous for an operation of that level of complexity.

So, just do it yourself. It's not that hard.

[1]: [https://www.sqlite.org/faq.html#q11](https://www.sqlite.org/faq.html#q11)

<comment><USER22> A lot of table alterations can be done without rebuilding the table, though perhaps a table scan might be needed to validate constraints (though this should optionally be a separate statement). To do this safely requires the RDBMS to support the functionality.

</comment></comment></comment><comment><USER23> Unrelated to window functions, but I finally took the time to start digging into SQLite's internals. People always sing its praises, so it was time to see what all the fuss was about.

Someone else already mentioned that the vast majority of SQLite's codebase are tests. Well, on top of that, of the real "working" codebase I'd say the majority of it is comments. It's incredible. The source is more book than code. If you have any when, why, or how question about SQLite, I guarantee it's answered in the code comments (or at least one of the hundreds of superb documents on their website).

Another surprise I discovered: SQLite has a virtual machine and its own bytecode. All queries you execute against a SQLite database are compiled into SQLite's own little bytecode and then executed on a VM designed for working with SQLite's database. Go ahead, start `sqlite3 yourdb.sqlite` and then run `explain select * from yourtable;`. It'll dump the bytecode for that statement; or any statement you put after `explain`. So cool!

In hindsight, it makes a lot of sense, and a well built VM can be nearly as efficient as any other alternative.

[https://sqlite.org/arch.html](https://sqlite.org/arch.html) [https://sqlite.org/opcode.html](https://sqlite.org/opcode.html)

Fun bit of history. The VM used to be stack based, but now it's register based. I guess they learned the same lessons the rest of the industry learned over that time period :P

(N.B. the bytecode is for internal use only; it's not a public facing API. You should never, ever use bytecode directly yourself.)

There are some painful parts of the codebase though. These aren't "cons" per se. More like necessarily evils.

1) It is filled to the brim with backwards compatibility hacks that make the code more complex than it strictly needs to be. (Most of these are the result of various users of the library misusing the API. The SQLite devs are generous enough to grandfather in the bugs that made those applications work. That's excellent, but it definitely makes the code more "crusty".)

2) One of SQLite's big features is its flexible memory subsystem. It handles OOM, and provides an API for completely customizing the memory subsystem. But given that this is C and memory allocation and interaction is pervasive, the code ends up littered with function calls and clauses. Handling OOM is no small task, and often how to handle the OOM is different in different places. So you can imagine the complexity that adds to the codebase.

Again, those are necessary evils, so its not something I'm "complaining" about. But I thought they were worth mentioning for fellow adventures like me who decide to dive in (which I highly recommend).

So, thanks to how well designed SQLite is overall, and their great documentation, I was able to write a parser in Rust for the SQLite file format in a handful of hours ([https://sqlite.org/fileformat2.html](https://sqlite.org/fileformat2.html)). The file format is surprisingly simple. I'm now writing a Cursor to walk the tables, which is a fun exercise of classic B-Tree algorithms.

<comment><USER24> > It is filled to the brim with backwards compatibility hacks that make the > code more complex than it strictly needs to be

They finally ended sqlite4 as an architectural misadventure, but perhaps they should try again with the current codebase/features but all of the backwards cruft jettisoned.

</comment></comment><comment><USER25> According to [1] windowing functions make SQL turing complete.

Does this make SQLite turing complete or has it been turing complete before?

[1] [http://beza1e1.tuxen.de/articles/accidentally_turing_complet...](http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html)

</comment><comment><USER26> This is super cool.

Does anyone know how to upgrade python3's sqlite module to the latest version?

<comment><USER9> You can use [https://github.com/coleifer/pysqlite3](https://github.com/coleifer/pysqlite3)

It even supports user-defined window functions using the new sqlite apis.

<comment><USER17> Charles provided really great documentation on how to build this here: [http://charlesleifer.com/blog/compiling-sqlite-for-use- with-...](http://charlesleifer.com/blog/compiling-sqlite-for-use-with-python- applications/)

Or if you're feeling lazy (like I was), there's a fork of his library at [https://github.com/karlb/pysqlite3](https://github.com/karlb/pysqlite3) which compiles the 3.25.0 amalgamation by default. This worked for me:

        $ python3 -mvirtualenv venv
        $ source venv/bin/activate
        $ pip install git+git://github.com/karlb/pysqlite3
        Collecting git+git://github.com/karlb/pysqlite3
        ...
        Installing collected packages: pysqlite3
        Successfully installed pysqlite3-0.2.0
        $ python
        Python 3.6.5 (default, Mar 30 2018, 06:41:53)
        [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
        Type "help", "copyright", "credits" or "license" for more information.
        >>> import pysqlite3
        >>> pysqlite3.connect(":memory:").execute("select sqlite_version()").fetchall()
        [('3.25.0',)]

</comment></comment></comment><comment><USER27> This is awesome! Does anyone know if this update will effect the sqldf package in R?

</comment><comment><USER28> Not sure if SQLite is still a 'lite' database

<comment><AUTHOR> I've just built the snapshot. The binary is still less than 2MB.

And it works:

      sqlite> with t(x) as (values (1), (2)) select sum(x) over (order by x) from t;
      1
      3

<comment><USER29> I just checked a stripped copy of postgresql-10 built with all options on and it is 7MB. That could be reduced a little by leaving out language support and ssl support etc.

<comment><USER21> While binary size could certainly be a factor in a good deal of embedded environments, we also need to look at the resource requirements of the binary in question as well.

Sqlite doesn't need too much more memory than what its binary needs whereas with postgresql, you need all sorts of bells and whistles just to get the database system to boot.

<comment><USER29> Well, sure, sqllite is smaller than postgres, but database system performance is largely dictated by the size of the buffer cache. For something like a configuration database (a great use of sqllite) this does not matter. But for more than a very modest amount of data more memory for buffers will benefit both postgresql and sqllite.

Anyway, not trying to make the case that postgresql is small compared to sqllite, it obviously isn't, just wanted to point out that it's not _that_ big either.

</comment></comment></comment></comment></comment><comment><USER30> I don't even know what that means but again, because it is SQLite, I up vote automatically ^_^

<comment><USER31> There's a whole categories of analysis queries that are really easy to write with window functions and very annoying to write without. They help eliminate nested subqueries and self joins. This should make SQLlite a better choice for data analysis and reporting.

</comment></comment><comment><USER32> SQLite guys, please add FDW support ala Postgres and easy foreign function support for Python and R, and you'll corner most of analytics and data science.

<comment><USER33> SQLite has had FDW since forever. [https://sqlite.org/vtab.html](https://sqlite.org/vtab.html)

SQLite has had user-defined functions since forever. [https://sqlite.org/c3ref/create_function.html](https://sqlite.org/c3ref/create_function.html)

Another underappreciated feature (while we're at it) would be WAL instead of undo-journaling ([https://www.sqlite.org/wal.html](https://www.sqlite.org/wal.html)), which enables concurrent reading and writing of SQLite databases. Has been available for some ten years or so, but is off by default.

Functions are available through the Python bindings (which are not maintained by the SQLite project), virtual tables I think, aren't. Alternate bindings ([https://rogerbinns.github.io/apsw/](https://rogerbinns.github.io/apsw/)) claim to achieve "Everything you can do from the SQLite C API" interop, which would include virtual tables.

<comment><USER34> Having written a fairly significant amount of SQLite virtual table module code, I think it isn't quite sophisticated enough to be useful. I regret building my application atop that virtual table functionality. Many parts of queries that are vital for efficient execution are not pushed down to the virtual table provider; for instance there is no way for "SELECT COUNT(*) FROM table" to do anything but retrieve every field of every row and return them to the SQLite engine, because the interface does not push the "COUNT" down to the virtual table provider. Even if your underlying data store can trivially answer the question directly, you have to pull all the data and let SQLite compute the answer. So on and so forth.

<comment><USER35> Out of curiosity, why would you ever run a SELECT COUNT(*)? What use case demands that versus, say, SELECT COUNT(col) where col is the name of a column in the table?

<comment><USER13> eh? if you want to know the number of rows in a table select count(*) is the idiomatic way

<comment><USER35> No. That's the way one may see the first time they're learning what a SELECT statement is, but it's most certainly not what you'd ever do in anything near production code.

The parent made this statement:

> ... for instance there is no way for `SELECT COUNT(star) FROM table` to do > anything but retrieve every field of every row and return them to the SQLite > engine."

The only response here is, "Of course! That's what you told it to do! Why would it do anything else—and why would you ever tell it to do that?!"

Edit: To be clear and not sound as though I'm just being dismissive, you can of course use `COUNT(star)`, but the parent made it sound like this was something non-trivial. There are better ways to write such a query when you care about the exact count of rows and, assuming you can't depend on grabbing the max primary key due to deletions, you're complaining about the database wasting cycles pulling back irrelevant info. Get to know your database, as it often has features to query such metadata in a much smarter and more performant way.

PS: I replaced the asterisk with the word "star" because it's making the formatting of this comment atrocious. Apologies for all the edits. I give up now.

<comment><USER34> I'm sorry, you've misunderstood. I'm fully aware that you can query it more efficiently, and in fact that's the point. If you're writing a virtual table provider, SQLite does not provide enough information about the actual user's query for you to know that you can do it more efficiently. There's no way to know that the user wants a count _at all_ ; the count function is not pushed down into the virtual table provider interface. SQLite only tells you that it needs you to retrieve every field in every row. You can't know that, in actuality, SQLite only wants to count the rows.

<comment><USER35> Ah. My apologies. I did misunderstand what you were calling attention to.</comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: 50 year programming languages? - <AUTHOR> Lisp and COBOL have been in use and continued to be used for over half a century now. C is getting close to the 50 year mark. What other languages do you speculate will still be in widespread use when they're 50 years old? <comment><USER2> FORTRAN is also still more broadly used than you might guess.

The suggestion of Java is a good one.

Python and C++ are strong candidates, if for no better reason than that they're broadly used, including in enterprise, and have been for decades.

PHP might be too, given how widespread its use is. Even JavaScript is coming up on 25 years now, and there's no way it's completely gone in another 25.

</comment><comment><USER3> The hot item today, both popular and used on a variety of platforms, is Java. A lot can happen in 50 years, so it's conceivable to me than Java does not make it to 50, but I'm guessing that some version of the JVM does (whatever language it's ultimately programmed in).

</comment><comment><USER4> Any language in which there exists a big enough and useful software system. Another factor to consider: How good the tooling and libraries are for the language.</comment>


Why are Smalltalk images considered bad but Docker images are great? - <AUTHOR> <comment><USER2> Because Docker lets you put arbitrary things into an image. Smalltalk images let you put arbitrary Smalltalk into an image.

It's apples and oranges: I can't mix-and-match technologies in Smalltalk images.

(I'd also argue that it isn't so much that Smalltalk images are considered "bad", rather that Smalltalk images don't suit the needs of a lot of people. Or problem spaces.)

</comment><comment><USER3> Smalltalk expected the image to hold the authoritative copy of your source code, adding friction to the use of any tools that were not first ported to the Smalltalk you were using (e.g., your favorite editor, version control, code review).

</comment><comment><USER4> Because docker is the new hotness while smalltalk is old hotness?

</comment><comment><USER5> My understanding of Smalltalk is extremely small, but, this is an apple to well a tree, so smalltalk images and docker images are both ways to persist some sort of state at runtime, however, Smalltalk images are more like configuration while docker images are more of an entire environment.</comment>


Woow Best Webscraper I Never Heard Of - <AUTHOR> https://dexi.io/product <comment><USER2> Similar to import.io, some alternatives are listed here: [https://www.quora.com/Who-are-the-competitors-to-import- io](https://www.quora.com/Who-are-the-competitors-to-import-io)

</comment><comment><USER3> This title is very much editorializing.</comment>


MyBrains – Now we are available in Chrome - <AUTHOR> https://mybrains.org/apps/ <comment><AUTHOR> Now we are available in Chrome. You can easily save information from the internet in one click! Check [https://mybrains.org/apps/](https://mybrains.org/apps/) for details.</comment>


A/B Testing in Rails - <AUTHOR> https://revaluate.com/tech/ab-testing-in-rails/

<comment><AUTHOR> I wrote a little post on how we're doing A/B testing at Revaluate.</comment>


Google takes on Zagat with disruptive decal technology - <AUTHOR> http://www.sfgate.com/cgi-bin/blogs/techchron/detail?entry_id=52914&tsp=1 <comment><USER2> I kind of like the other-worldly aspect of the Zagat rating. The fact that it is exclusive makes me feel as though the rating carries more weight behind it.

</comment><comment><USER3> Taking a picture of a decal sounds like the same amount of work as punching in its name. And, bonus, I don't have to be standing in front of a restaurant to type in its name.

Some variant of QR Codes have been the Next Big Thing in US mobile for at least 6 years, but I'm still not quite sure I see the point. Clever new data input methods (like on-screen keyboards that actually work and GPS) make this more like a solution looking for a problem.

</comment><comment><USER4> Nokia phones have this bar code scanner application built in. But I never had the chance to use it before :)

If you have a phone with such an app, you can try it out on images here -> <http://en.wikipedia.org/wiki/QR_Code>

</comment><comment><USER5> QuickMark QR code reader iPhone app is now free courtesy of Google (limited time).

[http://itunes.apple.com/us/app/quickmark-qr-code- reader/id30...](http://itunes.apple.com/us/app/quickmark-qr-code- reader/id308650613?mt=8) (iTunes link)

</comment><comment><USER6> Sounds like more competition for Yelp than anything else.

</comment><comment><USER7> Google is just everywhere. I like the idea of barcode scanning on the decals via your phone to pull up the restaurant for submitting/looking up reviews.

</comment><comment><USER8> _Users may have to download a so-called QR-Code reader application for this to work._

WHOAH I DON'T THINK I CAN DO THEM THAR FANCY SHMANCY WHAT'S YOU CALLS IT? CUER CODES? YA DAMN KIDS AN' YUR THINGERMABOBS.

I guess it makes sense that SF Gate treats its readers like semi-vegetative flesh sacks, since I guess that's actually a good proportion of their reader base.

Also, when I copied that text from the page, it inserted an advertisement into my clipboard alongside the text I had highlighted, using JavaScript. Yikes.</comment>


A prediction market for Bitcoin? - <AUTHOR>

Today Marc Andreessen tweeted: "@pmarca: Thought: Dorian Nakamoto saga illustrates pressing need for Bitcoin-based prediction market. That's something we'd love to fund."<p>It just so happens that I wrote a prediction market for consumer electronics 3 years ago that never went anywhere. Who would be interested in repurposing it with me? At least I want to figure out what Marc actually means by "prediction market using Bitcoins". <comment><USER2> Would like to know more and connect with you on this. How to contact you?

<comment><AUTHOR> I'm hanseldunlop on twitter.</comment></comment>


Paperfold for iOS - <AUTHOR> https://github.com/honcheng/PaperFold-for-iOS

<comment><USER2> Has anyone used lateral thinking techniques for web designing? Now-a-days, all websites more or less look similar and what are you doing to break the norm?</comment>


Serve your local website on HTTPS with mkcert - <AUTHOR> https://diamantidis.github.io/tips/2020/06/26/serve-localhost-website-on-https-with-mkcert <comment><USER2> I would love to see a better solution for handling certs on local networks. One of the major headaches for IT admins is that a lot of server products have security vulnerabilities when running on http. But configuring the certs on local networks is a pain. Especially bad if the local network isn't connected to the internet.</comment>


Proof of how important website titles are for SEO - <AUTHOR> http://www.wingify.com/conversion-blog/how-important-website-titles-seo/

<comment><USER2> That exact phrase is also in the first paragraph, the page heading, and in the url. The conclusion that it's the page title that has caused it to rank so well doesn't seem accurate. If anything I'd say that it's a combination of the exact phrase being in all 4 places.

<comment><USER3> I'm also fairly certain there's a recency effect in play as well.

<comment><AUTHOR> Probably true. That blog post is #4 right now.

</comment></comment></comment><comment><USER4> This is absolutely due to the freshness of the post. In fact, it's already at spot #4 in my results. It is common knowledge that Google pushes up recent posts and slowly sinks them to where they belong after some time.

<comment><AUTHOR> Can't it also be the case that in last 24 hours many more posts/webpages have come onto the web competing for the same phrase. (Especially since Christmas is near)

</comment></comment><comment><USER5> Did he turn off personalized search with the pws=0 parameter?

<comment><USER6> Great tip, I didn't know about this trick and had always just used incognito to do this.

</comment></comment><comment><USER7> It's surprising that such a baseless article is coming from an A/B testing tool provider.

Your article is talking about correlation, not causation. Where's the 'proof'?

I'd say you're just trying to milk the controversy around John's article. Nothing wrong in that had you provided an insightful article.

<comment><AUTHOR> Correlation happens when two events can occur independently. In this case, Google would have never ranked the blog post had I not _written_ the blog post.

But I agree that it is not blog post contains a scientific proof. Sorry if you thought the title sounded like it did.

</comment></comment><comment><USER8> It is really frustrating to me that so few rely on their common sense with this topic. As a single page can only have one title, and it is the clearest indicator of what the page is about (it is the TITLE), of course it is important. It is also the main determinant of whether someone will click on your search result after, of course, rank.

But we're also talking about "onpage SEO" here, which is like 1/1000th of what determines if you will have a successful website in search engines (and even less for a successful website, period). You should know the basics, then worry far more about the quantity and quality of links to your pages... and lots of other stuff.

</comment><comment><USER9> It's notable that 'free' and 'free gift' are alleged "stop words", too. I've seen a lot of confusion about that concept in certain communities; some people think that merely including "stop words" will cause serious dinging in search rankings.

<comment><AUTHOR> Free or free gift is not stop words. "a", "the", "or" are stop words. And any way I don't think this is relevant to ranking of the post.

<comment><USER9> I think we're talking about different concepts, and yes, inclusion of these words does not appear to have been a factor. What I'm referring to is a belief held by some that words such as 'free' ae interpreted by google as meaning the page is lower quality content, spammy in some way, and is this results in demotion.

<comment><USER10> that's not what stop words are. Search on google for a definition.

</comment></comment></comment></comment><comment><USER11> Alt title: Proof of how unimportant "SEO experts" are to the web.

</comment><comment><USER12> I would imagine that the search volume of this exact keyphrase is pretty low, even this time of year. So, not much competition, and not much benefit for winning.

</comment><comment><USER13> This should be really, really obvious stuff for pretty much anyone who reads HN.

<comment><USER14> It's a reaction to a post on Daring Fireball earlier this week:

<http://daringfireball.net/2010/12/title_junk></comment></comment>


Fumifugium, or, The inconveniencie of the aer and smoak of London - <AUTHOR> https://en.wikipedia.org/wiki/Fumifugium <comment><USER2> The pamphlet was published in 1661, yet it appears to have been largely ignored. Pollution continued unabated and even in 1952 the Great Smog of London [1] killed an estimated 10,000 people over the course of a couple of days, and made another 100,000 sick.

Really makes you think what kind of warning that was ignored in 2020 will be unearthed in the year 2311 to be considered very foretelling.

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

<comment><USER3> > _what kind of warning that was ignored in 2020_

Did you miss how many countries handled the COVID pandemic?

Even if malicious actors weren't taking notes on how to bring human civilization to a halt, a worse infection could easily decimate many nations.</comment></comment>


PayPal Adding One Million New Accounts Each Month - <AUTHOR> http://techcrunch.com/2010/07/21/ebay-q2-revenue-hits-2-2-billion-paypal-adding-one-million-new-accounts-each-month/ <comment><USER2>
      PayPal's merchant services business has grown by over 40 percent year over year

The reason Paypal is growing so fast is their rates are extremely competitive if you play by their game. I really feel for the guys like Braintree who are trying to do it right but just can't compete with Paypal's rates, particularly with Paypal offering the same qual and non-qual rates.

I've used Paypal Merchant Services for several years and each year grow more fed up with the practices. Just a few include charging .5% extra if you do not include Paypal Express button in your checkout, keeping the 30-cent transaction fee on refunds, increasing the chargeback fee from $10 to $20, and not letting you export subscription cc info if you want to move your subscriptions to another provider.

<comment><USER3> You sound like you work for Braintree, especially due to the fact they harp on not being able to export data from other merchant accounts/gateways.

Just saying.

<comment><USER2> Sorry if I came across as if I worked for them. Feel free to click my profile link and check out my businesses - I use my real name and have nothing to hide. I sell software to cattle ranchers and horse owners.

The reason I mentioned Braintree was I've seen their ads on The Deck and came across them being used by several popular Rails SAAS companies. Maybe I've drank their kool-aid. Feel free to substitute any small payment processor (non Paypal/Google Checkout/AuthorizeNet).

</comment></comment></comment><comment><USER4> I can only imagine this number increasing with their new Adaptive Accounts API. It will allow developers to create PayPal accounts for users/online customers as part of the shopping experience.

So rather than sending people away to create a PayPal account, you can keep them in your app, send the info to PayPal and (only at the very end) redirect to PayPal to verify and setup sensitive info.

You can read more here: <https://www.x.com/community/ppx/adaptive_accounts>

</comment><comment><USER5> The credit card companies dropped the ball years ago by not letting their card holders accept payments from other card holders in a hassle-free manner. If they had done this PayPal would not exist, and the world of credit card holders would be able to transact business directly with each other, rather than going through a "middleman" -- and theoretically anyways, everyone's rates would be lower, too.</comment>


Ask YC : What determines command of a programming language? - <AUTHOR>

Most of you are great hackers. How do you determine that you have command of a particular language?
What kind of problems/ projects you take up while learning a language. I have read on yc that a lot of people start with a project after a quick refresher and learn the language on the go. Are there any standard problems that you attempt to solve?
I've been trying to learn Python but feel a lack of direction and an inability to assess my progress.
Please share your views. <comment><USER2> I think I have command of a language when I can write something from scratch without spending much (if any) time in the docs looking up things.

How many languages have you learned before Python? The first is always hard, and the second is always the worst, because it's the first time you have to think above the level of syntax, but after that it's much easier. By the time you get around to learning number nine, all you have to conceptualize are the diffs with what you already know, which is a much smaller learning curve. So, to summarize, it gets easier with each one you add to your repertoire.

As for problems, I just start with the current one. I usually learn new languages because it seems well suited to a problem I have for some reason. Right now I'm really interested in parallelism, so I'm learning Erlang. I'm working on writing some kind of REST ROA stuff with it (and Yaws), for fun.

<comment><AUTHOR> Thanks for your response. I had learnt C and Cobol before and those were driven by the projects I was assigned to. I am confident with the algorithm but I should reduce the frequency of looking up the manuals.

<comment><USER3> With all the batteries-included languages running around I think reliance on documentation is an irrelevant (obsolete?) measure.

I for one am constantly apropos-ing in CL even though it is my primary language.

<comment><USER4> Well, what about not being reliant on docs for syntax, but only for library functions? I can never remember what each language calls "length" (length? size? Is it the same for strings and arrays? What about number of keys in a map?) but I don't feel too bad about that, even in languages I use every day.

On the other hand, if I have to look up the syntax for a loop, then I can't say I know the language yet.

</comment></comment></comment></comment><comment><USER5> When you can start thinking the problem through in the syntax of the language before you sit at the computer, odds are you've got a pretty good grasp of it.

You usually can't think the language if you're still referring to manuals/internet over 50% of the time for syntax/understanding.

</comment><comment><USER6> I find that you really just need to find a problem that I myself am interested in solving.

As part of the process of completing the project all kinds of problems will come up simply due to the fact that you don't know the language; and you know what? You just solve them and carry on and before you know it, suddenly you're just writing in the language without thinking.

The idea of solving standard problems to me does not appeal, but only because they sound like textbook exercises, but really whatever does it for you.

</comment><comment><USER7> If you can handle multi-threaded server code as well as client UI code, you are very much good in that language. but the important measure is not a particular language, rather your knowledge of algorithm, oo concepts, design pattern, etc. And some languages are a must. i.e sql

</comment><comment><USER8> I'm practicing Python while solving problems from Project Euler. I think it is a really efficient way to strengthen your LANGUAGE skills. Try very hard to re-write your solutions in an elegant and clean way.

<comment><AUTHOR> That is some thing I'm doing too. But I'll try the re-writing part. Thanks.

</comment></comment><comment><USER4> I think this is related closely to another popular question: how do you determine that someone _else_ has command of a particular language?

I think the point that I would pick is when you start feeling constrained by it. If you start wanting to do things the language can't do, or can't do well, and you can explain _why_ it can't do it well, then you have explored pretty much all of it.

That's why my favorite interview question is "So you're applying to program in FOO. What's something you hate about FOO?"

</comment><comment><USER9> I really need to write several small or one moderately sized project in a new language to get the feel of it.

I've been trying to learn Python and Lisp without any real project to hone my skillz on, whereas with other languages I actually had projects that sort of guided me.

So I suggest finding a project that can be written in the language you want to learn, and start writing it.

</comment><comment><USER10> When you're first leaning languages, "command" of a language probably ends up being defined as a solid working knowledge of the syntax.

However, the real deal is when you understand the solution pattern suggested by the language. When you start to break down problems into objects, functions, or types before you even touch a keyboard, then you've really gotten somewhere.

</comment><comment><USER11> "How do you determine that you have command of a particular language?"

When you're answering more [newsgroup|mailing list|forum] questions than you are asking.

(And both are good ways to attain command of a language.)

</comment><comment><USER12> I think it's about the _flow_ e.g. you're in the flow if you can arrange the whole thing in your head(i.e. developing a habit of thinking in a language), you don't have to look to manuals and most importantly if you can reflect upon the language (at least I've observed this pattern among great hackers I admire). You can do amazing things if you achieve the _experiential-mode_ but as I've observed people that I admire it's the _reflective-mode_ that takes you to the next level.

</comment><comment><USER13> Skip the learning phase, go straight to useful work. Sometime ago I had to render some maps with Mapnik (<http://mapnik.org>) which is driven by Python scripts. I didn't know any Python, so I just pasted an example from the 'net and started reworking it to suit my needs, experimenting and reading docs whenever I got stumped. Quickly picked up enough Python to write my own scripts, solve other tasks. For me it's the only way to learn.

</comment><comment><USER5> Speaking of python, have you tried applying your skills using a framework like django? That might be a good way of understanding how much comes naturally, and how much doesn't.

<comment><AUTHOR> Thanks. I haven't. I'll explore that option.

</comment></comment><comment><USER14> Reading other people's code can be a good way to assess command of a language. I've needed to dig into a number of Python packages over time, and have found it quite noticable how much more quickly and completely I'm able to grok such code as my command of the language increases.

</comment><comment><USER15> output.

If you can solve your problems with the language, you command it.

<comment><USER4> I am not sure I agree with that. It's entirely possible to make a Rails app that solves your problems without having a command of Ruby.

I guess you could consider "Rails" a separate language from Ruby...

<comment><AUTHOR> I guess we should add a time factor to output?

<comment><USER15> If you're late, you didn't solve the problem. I guess I really failed in attempting a very general statement.

</comment></comment></comment></comment><comment><USER16> a possible answer would be "when I've code that someone outside my team is using." Deliver a web app, a library, an interpreter, a game, and it's reasonable to say you're over the hump.

</comment><comment><USER17> "Most of you are great hackers."

Are you sure you want to make that assumption?

<comment><AUTHOR> That is why I did not say "All of you ...". The point of reference is of course me.

</comment></comment><comment><USER17> Ask the poor sucker who has to maintain your code if he thinks you have command of that language. If he says yes, then good for you. If he doesn't, then find out why not.

<comment><USER4> Might be because _he_ doesn't have command of the language, and doesn't feel like learning templates. Or macros. Or reflection. Or whatever.</comment></comment>


Sugru | Hack Things Better - <AUTHOR> http://sugru.com/ <comment><USER2> Constantly resubmitted - here are some of the earlier articles:

<http://searchyc.com/submissions/sugru?sort=by_date>

<http://news.ycombinator.com/item?id=976007>

<http://news.ycombinator.com/item?id=1019335>

<http://news.ycombinator.com/item?id=1079837>

<http://news.ycombinator.com/item?id=1174181>

<http://news.ycombinator.com/item?id=1397662>

<http://news.ycombinator.com/item?id=1401106></comment>


The Inside Story of a Small Startup Acquisition (Part 2) - <AUTHOR> http://www.softwarebyrob.com/2012/02/02/the-inside-story-of-a-small-startup-acquisition-part-2/ <comment><USER2> Although I realize that this is entirely private, but it would be incredibly awesome if you could share some vague ranges of how much you paid for both this startup and the other "web apps" mentioned in part 1. This info could put it into perspective of what it would cost to buy the idea and work, as opposed to having to incubate it yourself.

You make interesting arguments about how buying saved you time and effort, and also reduced risk, but ultimately everything is a trade-off and knowing the range of $$$ would make comparison a lot easier.

Thanks for a great post too!

<comment><USER3> Sure.

I've purchased web apps and websites (and have colleagues who have done the same) for $1k-$2k that today make right around that each month. But those are the best results; that's not the most common outcome of purchasing in this range.

The most common purchase price is between $2k and $7k. Though I do feel like that's been creeping up over the past couple of years as this approach of buying becomes better known.

The more you can spend the better off you are; everyone's trying to buy in the $2k-5k range so there is far less competition in the $10k-$25k range. But $5k-$10k can also net you a nice app.

In addition, although this approach saves months of dev time it does take time to find deals. You either have to sift through sites on Flippa, which I did for years, or find deals and cold email like I did. It's not something where one day a deal just drops itself into your lap with no work invested.

The hardest one is the first one - once that's going you can use revenue from that to buy the second, and so on. This most recent acquisition was funded purely with revenue from the other 8-10 apps I've bought and revamped over the past several years.

<comment><USER2> Thank you! This is actually incredibly helpful in putting this into context. Reading your original posts, I somehow expected to see 5 to 6 digit numbers, as opposed to the 4 to 5 digits that you quoted.

</comment></comment></comment><comment><USER4> Very insightful, as always. I liked the bit at the end about squirming a bit because "I didn't build it". It puts the focus on the _business_ of making money from a product.

</comment><comment><USER5> I'm enjoying the series so far. In part 3 I'd love to see something about the mechanics of executing the deals without getting burned. Stuff like finding contracts, escrow, etc.

<comment><USER3> Sure; will do.

<comment><USER6> Hi Rob --

Perhaps you could broadly discuss how you made the economics work? As I understand it they had a site that they were putting virtually zero effort into, so they must have wanted a pretty hefty multiple of the annual income. Because even if that income was declining, it was still taking zero effort to generate. You, on the other hand, had to have assumed you could make the revenue grow significantly via active investment, right? You did mention that eg broken sql or query parsing was leaving a ton of data and/or money on the table as it were, but you couldn't have known that ahead of time, could you?

So maybe you could explain something like: eg they wanted 3x annual profits, and I made assumptions x, y, z around potential growth via active marketing, etc. Or perhaps you dug up some competitors to imply that future revenue declines would be more rapid than expected? Also, perhaps you could explain how you came to your opening offer -- did you literally email them and say hi, I'd like to buy this and here is my estimated offer, or did you get some numbers first? If the former, how did you ballpark the income?

Even if you don't care or have time to answer the above questions, thanks a bunch for being willing to share these things. I feel like these deals must happen pretty often but there isn't much of a public guide to doing them.

<comment><USER3> Sure, I'll cover many of these in part 3; thanks for asking.

</comment></comment></comment></comment><comment><USER7> Great post. Most talk about the surface and not the details of each step that take many years (and iterations) to learn the subtleties of.</comment>


Prof. Jordan Peterson on Gulags, SJW and True Speech - <AUTHOR> https://www.youtube.com/watch?v=04wyGK6k6HE <comment><USER2> Even if I don't agree on many things he says it's worth listening to Jordan Peterson - on the other hand bearing with Joe Rogan usually is very hard for me but he often has very interesting guests on his show I have to give him that..</comment>


Effect of economic crisis on America's small businesses [slides] - <AUTHOR> https://docs.google.com/presentation/d/1IUTHX2kTagUUV88HUJCkp_P6iZgLCXXVHD9UeOwU_1w/mobilepresent?slide=id.g71b0a47020_30_486 <comment><USER2> The virus is terrible. But our solution could turn into an economic catastrophe. It simply isn't possible to shut down the economy and then pay people, businesses to sit idle for an undetermined amount of time.

The solution is aggressive, continuous testing so that people can feel safe going back out.

1\. Make hundreds and millions of the rapid tests available. 2\. Deploy them to every business, every institution. 3\. Test everybody coming into work every morning. 4\. Isolate and quarantine the positive ones. 5\. Elderly and immunocompromised self-quarantine.

Lets find the actual contours of this infection within the population. And then squeeze it down.

\- Want to get into a theme park? You need a negative test result on your phone from this morning.

\- You got tested at one of the thousands of mobile test stations. You received a code with your test.

\- 15 minutes later, you get a test result on your phone - also sent to a national database in real time.

\- The theme park worker scans your phone and validates the result.

This is not a fool-proof system. But it or something like it will instantly reduce anxiety of people trying to work.

If you knew that everyone at your coffee house, at your gym, in your lecture hall, etc. tested negative in the morning. You'd feel safer and we'd all be able to move forward.

<comment><USER3> > It simply isn't possible to shut down the economy and then pay people, > businesses to sit idle for an undetermined amount of time.

Why not? This is a matter of survival. If the economic system breaks because of one pandemic that will last less than a year maybe that economic system needs to die and be replaced by something more solid and useful for most.

<comment><USER4> It's not about abstract "economic system".

Let me put it in simple word: you'll loose your job. Your friends and family will loose their jobs.

As a result, when your savings run out, you'll loose your appartement. And so will your friends and family.

You won't be able to afford food without government assistance.

And even if shutdown lasts only 30 days, it'll wreck the economy for a long time. Once a restaurant defaults and closes, it won't just re-open. Those jobs will be lost for a long time.

Now, maybe you're one of the lucky ones with enough savings to ride this out and this won't affect you. But it'll affect millions of others.

<comment><USER3> Why do we need jobs to survive? That alone is an insane system. We desperately need to separate work activity and survivability.

Even without this pandemic, we live in a World where there is enough shelter, food and drugs for everyone but we still have homeless people, people starving or at the least malnourished and people dying in a rich country because they have to ration fucking insulin.

This economic system is not working at all. People die every die directly because of this system[0]. This pandemic just brings it to light.

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

<comment><USER5> Yep, this situation is a socialist wet dream

Of course socialism is a failed economic model but hey maybe this time it will work /s

<comment><USER3> How is it a failed system? I'd say people cannot afford insulin is proof enough that Capitalism is a failed system.

Just go ask Argentina[0], collapsing months after IMF was praising the "good" work Argentina was doing and how a good Capitalist country it has become[1].

This pandemic just made most people feel what the lives of billions is like all year long under Capitalism. And your dismissive comment is just shameful and disgusting.

[0]: [https://en.wikipedia.org/wiki/1998%E2%80%932002_Argentine_gr...](https://en.wikipedia.org/wiki/1998%E2%80%932002_Argentine_great_depression)

[1]: [https://www.imf.org/external/pubs/ft/fandd/2000/03/pou.htm](https://www.imf.org/external/pubs/ft/fandd/2000/03/pou.htm)

<comment><USER5> >>How is it a failed system?

ohh I dont know, the millions upon millions that have died in starvation due to socialism over the many decades that it has been tried

but those where not "real socialism" right....

Pointing to one good that some people can not afford (the reason is largely due to government control not capitalism BTW) does not in any way "prove capitalism failed"

it is true that sometimes with capitalism you will get breadlines, but with socialism sometimes you get bread

<comment><USER3> It's really something witnessing /r/the_donald spill over here.

<comment><USER5> It is really something to have people confuse libertarianism with Donald Trump

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> One thing that really horrified me was how quickly people threw away the economy.

Unfortunately, this virus is highly contagious (to the point that the vast majority of countries won't contain it) and fairly lethal. We don't actually know how lethal, but it appears 1%-3%, but without widespread testing we wouldn't know.

At the moment, we just reduced our GDP by 30%-50% in regions under quarantine. Think about that for a second...

Now consider the fact that the supply chain is also all kinds of messed up and with the loss of jobs people have less money.

Finally, save this, but I don't think the US quarantine is going to do much to lower the curve. Simply put, the west is not prepared. Our checkouts are run by people without masks or gloves. People still are closer than 2 meters (or 6 feet).

To lower the curve we'd need strict quarantine (no leaving the house) for a month or two. Even then we won't have enough masks, hopefully we'd have enough ventilators and tests by then...

Point is, we are tanking our economy and mark my words — it won't work. People voted, had spring break, celebrated st. Patrick's day went out shopping in droves. It's likely too late, one sick per household and they infect the whole house.

All this to say: we are losing our economy and probably this isn't effective.

<comment><USER7> New Yorker here. From what I see through my window, my fellow New Yorkers still don't "get it". I see clusters of people hanging out and families going for leisurely walks. If this keeps up the number of infections - and deaths - will only increase.

Last week my brother suggested instead of working from home I work from a Starbucks.

I feel like people don't understand how serious this is and it's really bothering me.

<comment><USER8> There's nothing wrong with people that are living together going for a walk together, it won't particularly increase their exposure.

People should cooperate and keep distance, but it's not a big deal to just be outside a reasonable distance from small numbers of other people.

<comment><USER9> Something that amused me the other day was was an NPR reporter saying, "I went to the park yesterday and I was surprised at all the people just out in the park" as if they didn't also make the choice to go to the park.

<comment><USER10> I feel this. Every time I go out (to the park) I'm amazed at how many people are out. I start thinking about how we're doomed, because people obviously aren't taking this seriously. I mean, they're at the park instead of huddled in their apartment!

Then I remember I'm at the park too...

</comment></comment></comment></comment></comment><comment><USER11> The stock market is largely collapsing because:

1.) Hedge funds levered up their capital 5 - 15x to make more money, then got caught with their pants down. So they all panic sold at once, crashing the market.

2.) CEOs of large corporations used cash to buy back their stock, inflating the stock price, and depleting their cash reserves. So now those same companies are on the brink of collapse, causing the credit markets to collapse, the stock market to collapse, and the rest with it. They can buy 50B worth of their own stock, but cant pay employees for a month without revenue.

This whole mess is in part due to financial engineering taken down by a black swan event. CEOs should be in jail and so should finance professionals. Laws need to be passed so that finance individuals cannot ruin the market for their own financial gain.

<comment><USER12> Why should anyone be punished for failing to plan for a _black swan_ event?

 _Black swan_ events are unpredictable and outside of what is normally expected.

<comment><USER13> I'm not even that old and this is the 3rd black swan event in the last 2 decades: terrorist attacks of 9/11/2001, financial meltdown in 2008-2009, and this 2020 global pandemic.

There were also 3 other localized outbreaks (SARS in 2003, Swine Flu in 2009, MERS in 2012) so that to me sounds like we were 3 viral mutations away from this being the 4th global pandemic in 20 years.

If we're structuring business and our economies such that they fall over or require ~1 trillion dollars for bailouts, every 4-7 years on average, then something is vastly, massively, completely, extremely wrong with our approach.

I don't care how many economics nobel prizes are racked up by theorists; or about efficient market theory and blah blah blah. These systems are failing in the real world and that's the only existence proof needed.

Running a just-in-time razor-thin-margins all-profits-reinvested-no-savings business is great in theory but apparently the wind blowing from the wrong direction destroys it all. It has the feeling of the economics/finance version of a physicist assuming a spherical car in a perfect vacuum with a point source of gravity when designing a system that has to survive actual usage.

<comment><USER14> The gains inbetween these events far outweigh the cost of the bailout no?

Those who prepare well (3-6 months of reserves) will be ok, other businesses will need to perish to teach others a lesson.

<comment><USER15> _The gains inbetween these events far outweigh the cost of the bailout no?_

You are literally advocating "Privatize the gains, socialize the losses", no?

 _' It's ok that the (public) government bails them out, because the (private) companies made even more money'_

</comment></comment></comment></comment></comment><comment><USER16> Instead of hundreds of billions in loans to businesses, which have to be underwritten -- and as discussed on Slides 17/18, the SBA did an abysmal job administrating during Hurricane Sandy, helicopter money might be the better answer.

Give everyone money, no criteria. If we do impose income limits, and since viable proposals do -- we ought to discuss it. Give them a check now anyways. We cannot be worried people will be "annoyed" if they owe their check back come next tax season. Future annoyance is a small price to pay if these businesses can't stay afloat. We will be feeling the effects for far longer than a quarter. The helicopter money needs to be distributed as soon as possible.

<comment><USER17> Why income limits? Would it not be easier and faster to just adjust marginal tax rates and simply give everyone money right now?

<comment><USER18> That is the question -- it might legitimately be harder to adjust marginal tax rates than to add an income limit, even if the outcomes would be identical either way.

<comment><USER17> I meant logistically easier.

</comment></comment></comment></comment><comment><USER19> Distinguish between wealth and paperwork. As Bucky Fuller pointed out, if all the paperwork disappeared overnight we would have a hellofa fight over who owns what, but no one would (necessarily) starve. If the wealth itself disappeared: the factories, the distribution networks, and so on, we would be screwed.

In the situation today the physical basis of wealth is not under attack, the "human capital" is.

As long as the food and water keep coming we'll eventually be all right, keep your head, and keep your eye on the fundamentals: In approximate rank order from most important to lesser-but-still-very important, the base of Maslow's Hierarchy of Human Needs:

+Water (also soap!)

+Food Production & Distribution & Waste Management.

+Communications (under which I include governance)

+Electric Power

Pervading and fundamental to all these are keeping a level head and a civil society.

"It may seem a ridiculous idea, but the only way to fight the plague is with decency." ~Camus

</comment><comment><USER20> Better solution: [https://docs.google.com/document/d/1YbtJGn7ida2IYNgwCFk3Sjhs...](https://docs.google.com/document/d/1YbtJGn7ida2IYNgwCFk3SjhsZ0ztpG5bMzA3WNbVNhU/edit#)

We can shelter-in-place as long as needed. And no businesses go under, and no one loses their home.

<comment><USER21> > First, we pause all fixed financial obligations, which are what's crushing > our economy right now. Right now, we're in a crunch: people can't work, and > so they can't make payments on mortgages and rents.

Totally agree, it is insane that some families are under the threat of eviction because they live paycheck to paycheck and cannot afford to pay rent now. Same for small businesses who cannot afford to pay rent.

I'm sure some landlords will do the right thing, but we can't trust all landlords to do the right thing. Something has to be done at the federal level, and it's now or never.

UBI would be another way to get around this BTW.

<comment><USER15> It isn't about landlords doing the "right thing". Landlords have debt to pay, generally aren't sitting on mountains of free cash, and foreclosure of the property you are renting is functionally similar to eviction.

<comment><USER21> to re-iterate the other comment: landlords have landlords.

<comment><USER22> _> First, we pause all fixed financial obligation_

Keyword: _all_. That includes landlords' financial obligation to their landlords. And their landlords. And their landlords. And their landlords. Ad infinitum.

</comment></comment></comment></comment></comment><comment><USER23> Like a plane crash, there's a moment where the error is realized. Someone says 'oh sh!t' on the flight recorder when they realize the error, and that there's no time left to correct. Yet enough time remains to wait.

That's what this month has felt like. The grave error, in my opinion, was refusing to take dramatic action early on. We couldn't tolerate _any_ economic slowdown, so dice were rolled, and here we are. Add in the (criminal) failure of testing in the United States...

It's been a _week_ and you see plenty of calls to 'think of the economy', and put an end to the shelter-in-place. One week. But like I keep saying, this isn't a binary choice. It's not clear that we could just 'chose the economy' at this point, because of the path that was chosen weeks ago – which is a narrower, far more dangerous path, to both the global health, and the economy. Short-term thinking at its worst.

But this is not a literal plane crash. The majority of us will live. It's about the kind of world we want on the other side of this. What we need now is global cooperation to share knowledge and resources. We need people to come to their senses so we can make smart decisions and make sure we don't throw out our constitutional rights in the process. We need as much urgency in bailing out the millions of people who are already losing their jobs, as there is for the airlines that spent the vast majority of profits on buying back their stock.

There's cognitive dissonance at play. "This can't _really_ be the situation we're in?" Well, it is. This path was chosen. Now we need to buckle-up and learn rapidly from the mistakes we've made.

</comment><comment><USER24> If you are rich enough, you should be thinking about which small businesses you rely on and pull-in your purchases. My car mechanic just sent me an e-mail out of the blue advertising that they were still open. I will definitely be getting my car serviced early next week, even though it's a few months early. At work, I'm pulling in some of my "nice to have" projects to keep my favorite vendors (who haven't been shut down) busy.

</comment><comment><USER25> This appears to be an appeal by Womply to direct a ton of stimulus money toward them, so that they can make loans to small businesses (instead of the Small Business Administration), and then they can take a cut of that.

<comment><USER26> This appears to be a very ungenerous reading of the slide deck. This is a time everyone needs to pitch in and do what needs to be done.

<comment><USER27> Yeah, this is no time to criticize grifting.

Previous commenter has nailed it directly: opportunists see a mountain of money heading out from government to the public and they want to insert themselves in the middle and grab a big chunk of it.

I mean, these businesses file tax returns and the government has an address and even a bank account on file for them. Government could... write them a check. I've just provided all the value Womply provides in getting money to small businesses, pay me.

</comment></comment></comment><comment><USER28> Soviet approach to solving the problem would be: don't tell anyone.

There was a major flu epidemic that killed 100K+ in the Soviet Union in 1977-78 (long after gulags and all the scary Soviet stuff, when living standards were among the world's top, comparable to poorer Western European countries like Italy and Spain). None of my older relatives ever heard of it. just some old people died, that's it. Absolute zero of economic or social consequences. I think kids didn't go to school for some weeks and maybe streets were cleaned bit better than usual, nothing worse.

</comment><comment><USER29> It's articles like this that really make me facepalm, shake my head and say "this isn't about whether America could survive this". America is the last of our concern. Almost ALL of the other countries on planet Earth have orders of magnitude LESS resources (in every sense of the word) than we do. Think about how likely those countries aren't going to fall into chaos. Their governments aren't equipped to deal with this sort of thing.

<comment><USER30> Part of the benefit of living in America is the fact America will put it's citizens first, no? I fail to see how putting the rest of the world before our own countrymen could at all work. To many, that would be viewed as betraying countrymen if we didn't handle it here first. I'd even posit that an America that's contained and controlled COVID-19 is better for the world than one that's not.

I'm _not_ saying we shouldn't help the rest of the world. That's the very next thing. I'm saying, let's make sure we're not drowning before trying to help others not drown.

This is a really weird line of reasoning because I don't think it even holds in the case of a broader unity.

<comment><USER30> I'll drop into this more, because we might not be connecting on what layers we're talking about. I'm talking about immediate medical survival. If by "resources" you're talking about financial/economic support, then I could very much agree with an "everyone right away" approach.

I see the immediate health layer as subject to physical limitation, the economic layer subject to informational limitation. If by resources you mean money, then yes, I very much agree.

</comment></comment></comment><comment><USER31> This wouldn't be such an economic disaster if the government had their shit together and acted fast. All they had to do:

1\. Freeze mortgages, rents and interest for 90 days.

2\. Send everyone checks for around $2,000 a month, let people choose to cash them if they need to, correct for it on 2021 tax returns based on your income.

Avoid having small businesses shut down and lay everyone off, call it a vacation and give people homework for the next 2-3 months while we focus on fighting this pandemic.

<comment><USER32> This would cause hyperinflation and a massive redistribution of wealth. Coastal people can't live on $2000. Airlines still go under.

Plan B: [https://docs.google.com/document/d/1YbtJGn7ida2IYNgwCFk3Sjhs...](https://docs.google.com/document/d/1YbtJGn7ida2IYNgwCFk3SjhsZ0ztpG5bMzA3WNbVNhU/edit)

</comment></comment><comment><USER33> I have to think that as a society, we're going to be introducing a lot of slack that never existed before. Consider commercial real estate: there are going to be loads of small businesses that can't make rent in the next 3 months... but from a landlord's perspective, it probably doesn't make sense to terminate the lease (or hound the business into bankruptcy or something), because who the hell else are they going to get to rent the place?

<comment><USER34> If more banks follow suite with deferring mortgage/loan payments... All the stops are being pulled. If the governments can get their shit together over the next 2-3 months we could actually hit play after this pause and have a real shot at rebounding.

Other countries, and developing countries, may.. Will not be so lucky.

</comment></comment><comment><USER35> I was just talking to my mechanic by text at middlefield & n shoreline at the Arco on the southwest corner, just across 101 from the Googleplex. He may have to permanently close his business and get a regular job because his landlord will demand rent when there are no customers.

A similar situation is happening to Louis Rossmann who doesn't have business interruption insurance because they require flood insurance and weasel out of covering disasters.

Another situation is Michael Moore's nonprofit movie theaters won't be reimbursed to pay or govt pay their employees' salaries, and building lease/rent.

Also, tip-based workers are screwed too.

Only 20% of workers are getting some money, with a little promise of temporary UBI to some people.

And then the government has the gall to offer interest-bearing loans instead of no interest loans and grants? WTF!

The situation is there will be people working to put food on the table sick or not, and riots if people aren't made whole. The US economy will crash and burn for decades if this isn't handled correctly by clawing back some of the tens of trillions the MIC, corporations, and the rich stole from the little guys and regular folks.

<comment><USER36> Residential landlords are looking at a rent freeze until June: [https://caanet.org/caa-unveils-safe-at-home-guidelines-in- re...](https://caanet.org/caa-unveils-safe-at-home-guidelines-in-response-to- covid-19/)

Commercial landlords are likely thinking about it. the solution is to figure out who else rents from the same landlord/other small businesses in proximity, team up in solidarity and demand a rent freeze. The alternative is owning capital in either a ghost town or Bartertown ([https://en.wikipedia.org/wiki/Mad_Max_Beyond_Thunderdome](https://en.wikipedia.org/wiki/Mad_Max_Beyond_Thunderdome)).

For the skeptical, think back to the Occupy movement of around 2011, which mostly took over public space. With so much private space sitting empty, the outcome would be very very different this time.

<comment><USER37> "Freeze rent" as in not increasing the monthly payment?

Waive late fees as in, expect to be paid for all months back rent in the first place?

Gosh, that's cute. Small businesses forced to shut down aren't going to be gritting their teeth and paying back rent when the government decides they're allowed to re-open.

I would guess most businesses forced to close at least 6 weeks will be write- offs. Walk away from the debt and start again if you can / dare. Unless someone else (govt) is picking up the tab.

</comment></comment></comment><comment><USER38> The SBA statistics are sobering. 46 days for application, 24% approval per slides. In my experience, asking for $50k was harder than $350k and a large distraction. Vendor financing and credit cards filled the gaps.

IME if you needed capital, you weren't approved for capital. If you were cash flow positive with solid income and 2 years of operating history and tax returns, you could put up collateral and refinance at a lower rate.

Over ~5 years I was denied ~5 times, discouraged from applying ~3 times. I was approved once after several years of track record with a co-signer pledging a property with 100% collateral.

That small business (exited 2019) would have really struggled to survive right now. It would also be a difficult time to ask friends, family or spouse to help.

I wish I had a better policy suggestion to offer; it's a hard problem. Good luck to all small businesses out there, I'm pulling for you.

<comment><USER39> I worked with commercial loans and SBA stuff is difficult to get simply because it's hedged on risk. If you need an SBA loan to expand being a landlord and you have a year experience, yeah you might get it. If you just bought a new business and you have no experience with it, you may get denied.

They look for essentially a business plan that has been thoroughly thought out. It sucked for us because we had to report EVERY DAY someone missed their payment until it was paid. The SBA gives a decent rate for what it risks, but they are an unmovable force. You cannot explain to the the situation or what. Follow the terms to a t or get yanked.

</comment></comment><comment><USER40> The problem is that businesses have been setup in such a way that they can't just stop spending money when they aren't earning any money.

But this can mostly be fixed by law, with a law that retroactively changes all rent, leasing, mortgage, employment contracts and in general any contract that involves periodic or future payments to be stopped at will, subject to no longer enjoying the service or product.

Then they can just stop paying rent and paying employees and cancel all supply deliveries, since they no longer need those, and they will not lose any money.

Then add a temporary UBI and a ban on actually evicting from rented spaces (since the economy is shut down, and thus there would be no other tenants) so that people can still have a home and food.

</comment><comment><USER41> There is a risk that the response to this epidemic will tear some parts of American society apart. Some of the rhetoric in this thread is both representative and frightening in that regard.

People of low means do not like getting told that they must go back to work and accept the risk of losing their parents and getting permanent lung injury. They will also not like getting told to stay at home and default on their rent and mortgage.

People in a situation like that can take desperate measures, especially when there's many millions of them.

You guys really need to step up the political measures to take care of these folks. Emergency bailout style. The time has never been more ripe to test out basic income.

</comment><comment><USER42> Regarding restaurants. I live in Massachusetts where sit in is not allowed as of last week. I'm sure many restaurants are hit hard. But I also see many cafes and restaurants that adjusted quickly to take out and delivery and seem pretty busy. Some adjusted their menus and selling soup in bulk etc. Bars got hit harder.

Many sport studios quickly moved to online classes. Not everyone can of course. The climbing gym near my house is closed and who knows if they ever reopen. I'm not saying that we're not in a middle of a small businesses catastrophe, just that many small businesses find ways to survive. But obv they won't be able to for too long.

</comment><comment><USER43> I wonder if the strict lockdown measures that are needed to try to contain the covid-19 virus perhaps will not be enough to contain the covid-19 virus, but as a side effect will extinguish all other virures with lower Rs transmitted among humans, such as the flu, etc.

That is, that after 3 months of strict lockdown and 9 months of pervasive social distancing, the only virus you will be able to catch is the covid-19 virus, until new viruses coming from animals appear.

</comment><comment><USER44> Just a money grab by a special interest group - folks in the payment industry. Everyone is trying to figure out how to get their fingers on the $1 trillion that the Fed is handing out. This is saying, the SBA can't give out the money fast! Trust us acquirers/processors to do so! Give us the money and responsibility instead!

</comment><comment><USER21> Here are the issues from my paper napkin analysis:

* large businesses not being able to pay for maintenance of tools.

* small businesses not being able to pay employees, rent, services, etc.

* people not being able to pay for rent and food.

What are possible solutions for a long-term lockdown?

* for large businesses: bail out.

* for small businesses: rent should be free.

* for people: rent should be free, food should be distributed like in times of war.

<comment><USER15> I am not sure you're going to successfully nationalize all commercial property, but temporarily freezing interest on debt & suspending payments is interesting to ponder. For example, most mortgages are held by the Fed, so they have the ability to do that. Similarly for t-bills. I'm sure a real economist can tell me why it wouldn't work, of course. But in general, rent must be collected because debt must be paid, so if debt were frozen then rents actually could be deferred.

<comment><USER45> I wonder if the hit from freezing debt is less than the gain from having the vast majority of the working economy get a de facto 2x raise. Lots of people are rent burdened which only hurts an economy driven by consumer spending.

</comment></comment></comment><comment><USER46> Some people feel for dying Italians, some fear going outside so much their hands are shaking. But this really wrenches my gut : O

</comment><comment><USER47> How long do we expect shelter in place to last?

<comment><USER21> if we can trust the imperial college of london, the next 12-18 months will have 2/3rd of their time in lockdown.

<comment><USER48> I think that model assumes everyone goes right back to 'normal' as soon as lockdown is lifted. China and South Korea are both using regulations and surveillance to try to keep r0 below 1 while out of lockdown.

</comment></comment></comment><comment><USER49> Sad to see museums are among the hardest hit institutions, next to gym club.

</comment><comment><USER50> It's worth to take a look at Karl Marx again. I'm not referring to any existed entities, but the model of pure capitalism is so problematic as he pointed out.

The usual reason against shutdown is because people have mouths to feed, mortgages to pay. But seriously, most of the products and services people are selling not really important or even any useful - that's why people have to advertise them so hard - it's not as straightforward as advertising cars, houses, and Coke. But those jobs are very important to those individual employees because it's their only source of income if their business were shut down, they wouldn't have roofs over their heads.

So the capital is the way to let people claim their part of the economy. It's so vulnerable that it's not even doomsday yet and people start to lose their source of income, and even without shutting down things. If we're going to shut down non-mandatory industries, people from those industries would get broke immediately - it's so deeply coupled so effective measures could not be taken.

In a perfect world, less than 10% of people working, or everyone working one day per week could feed everyone effectively. As automation goes on, the percent could keep shrinking. As a comparison, at the end of the day of a capitalist world, most of the "meaningful" jobs would done by very few persons because of the automation, and the rest of the world can only earn money at their mercy by doing "barely meaningful" jobs. Other than that, those who can't even get "barely meaningful" jobs have to working hard on futuristic versions of TikTok trying to become superstars - it's their only way of claiming their part of the economy.

Furthermore, the well-connected people get tested first as Trump suggested (or naturally happens in the US) is also a capitalist way of doing things. If we take Asian countries as an example, the testing kit is soon promoted as strategic resource mostly instructed by the government, which should eventually come from health care institutions, they have ideas to allocate those test kits in order to make maximum use of it, instead of blindly testing people back and forth.

If Karl Marx is not for you, it's always worth taking a look at Singapore where they did most things correctly most of the time. It's perfectly balanced in economics, politics and many, many other aspects (Though usually bashed by Western media as an authoritarian country). People can afford to buy houses, education is excellent and at a reasonable price, eating outside is cheap and easy, health care is affordable, and people are relatively free. Everything is carefully planned and designed by the government.

As a comparison, at a first glance, Hong Kong seems to be similar to Singapore to those people who haven't been there, but Hong Kong is a more western-style democratic society compared to its neighbors (at before 97 if you protest). But the rent is out of control, things are messier, there's no specific plan for things.

Again, I'm not evangelizing communism but those problems Karl pointed out have been overlooked largely nowadays.

</comment><comment><USER51> In 6 days, Chloroquine combined with Z-Paks will have nipped this pandemic in the bud.

<comment><USER52> Yeah, this sort of bogus claim can do real damage.

</comment></comment><comment><USER26> It is time to declare war. We need to move to a war economy and get on with what needs to be done.

<comment><USER8> What does that even mean?

<comment><USER26> Congress declares war. Think WWII.

Edit. Thanks to the wonders of HC I can't reply to you so I have edited this post. The declaration of war is symbolic in one way, but it captures what needs to be done. The entire economy needs to be swung around to getting this pandemic under control as quickly as possible.

Once war is declared we can start conscripting people to do the things that need to be done like enforce curfews, do door to door testing, build hospitals, keep people fed, etc, etc.

We are going to end up at this point anyway, so we might as well do it now and save lives and the economy.

<comment><USER21> BTW France declared war officially.

</comment></comment></comment></comment><comment><USER53> The slides by themselves do not speak a compelling narrative to me, so I think I'm missing something fundamental or not understanding.

Small businesses (all, businesses) will suffer quite badly, but if your company cannot continue operating because its shut/slowed down for 2 weeks then it's likely that your business was running on a knifes edge and /any/ shock would have killed it.

Arguing that many people have done this is not just cause to bail them out (speaking from a purely logical non-empathetic position)

EDIT: ok. Our entire economy is built with no buffers in place and people here seem to have no issue with that. From a personal finance perspective I ensure that I live beneath my means and have capacity for a couple of months lost revenue. (Shit happens) and I'm not "well paid".

<comment><USER54> " then it's likely that your business was running on a knifes edge and /any/ shock would have killed it."

Welcome to... life? This is how America or even the world works. Most people live on knife's edge. One missed paycheck? Homelessness just got its greasy hands on you. Two missed paychecks? Go pack what you have left... Most business are not any different, especially those run by regular people.

In my family we have a quite successful business in the sense that the person running it, has quite a fancy lifestyle and can afford it. But you have to realize that most business have terrible margins. Our family business has maybe a margin of 10%. That means, for every 10.000$ you take home before taxes every month, your business has running expenses of about 100.000$ per month. Now restaurants are all closed... Nobody will buy your stuff anymore, but your employess still need to get paid. So now you have those 100.000$ monthly costs and not a single dime coming in... There is no reasonable expectation to save this much buffer.

In short, even business that run extremely well, will die within A MONTH, if all expenses continue and no income is generated. This is why I think what they are doing for this petty virus is quite insane. They are destroying the middle class for some "theoretical" projection that might not even play out the way they think. What is guaranteed though is that businesses will die in troves and the economy and middle class with it.

<comment><USER55> >They are destroying the middle class for some "theoretical" projection that might not even play out the way they think. What is guaranteed though is that businesses will die in troves and the economy and middle class with it.

Look at the age of the people making the decisions. If you were 60+, unhealthy, and had the option of minimising your own risk of catching the disease by stopping the economy, you sure you wouldn't take it, regardless of the long term damage it would do to the country?

<comment><USER34> The greatest outcome differentiator we have control over right now is whether or not a person can get adequate care or not. It seems like that can make a difference in the realm of points; big boy points.

Our top political leadership would not be left wanting for medical care if they needed it. Pelosi and McConnell are both in for keeping congress together in DC vs running and hiding at home. "Going down with the ship" so to speak.

Top marks for your cynicism. Low marks for the focus of it.

<comment><USER55> Even with top care, the fatality rate is still over 10% for someone 80+. Compared to 0% if they aren't exposed to the virus.

>Pelosi and McConnell are both in for keeping congress together in DC vs running and hiding at home. "Going down with the ship" so to speak.

Correct me if I'm wrong, but haven't all the lockdown decisions so far been made by state governors, not the federal government?

</comment></comment></comment></comment></comment><comment><USER56> I can't access the article at the moment. I tried. I'm on my phone. It didn't open for me.

I'm not sure I care.

The world is suddenly embracing a lot of practices I've pursued for years because of my medical condition. I've spent a lot of years trying to develop alternate mental models and an alternate lifestyle to avoid germs so I can stay off all the drugs doctors think I should take.

I run r/GigWorks and r/ClothingStartups. Neither has much traction.

I have long wanted to actively foster the development of small independent business. The founding fathers of the US believed small business and entrepreneurship was critical to a healthy democracy. You can't speak your mind or vote your heart if you have to live in terror of being fired for it and unable to get a new job.

I can run my big fat mouth as much as I do in part because I work for an online writing service. If everyone absolutely hated me on every forum and in the small town where I live, I can keep earning an income anonymously online through the writing service.

I am only one person. I've long been a _loser_ and _social outcast_. As such, I've been failing to get traction.

But you are all invited to check out GigWorks and ClothingStartups and try to be part of the solution.

The old guard never goes quietly. They go kicking and screaming. Things usually don't really change until a bunch of people die.

We've been here before. We survived as a species.

I think the most important question right now is "What kind of future would you like to see rise from the ashes?"

Answer that question and then actually do it. Don't just leave it as a mental exercise.

For me, that means continuing to try to find ways to foster small and micro business success via the Internet to give stability to a top heavy economy that is sucking the air out of the room politically for reasons foreseen by our founding fathers.

</comment><comment><USER57> I'm honestly looking forward to a new economy served by large corporations. Large companies are more consistent in their user experience across multiple locations, and are better buyers of tech. They are always looking for new ways to automate their operations and frequently turn to tech companies to solve their problems at scale.

So in a way, it's good for the valley if more of the economy becomes more corporate.

<comment><USER58> /s ?

<comment><USER59> Doubtful.

People often romanticize the "mom & pop" places, but there's a reason that most consumer-facing companies are very large, and those reasons were enumerated by the OP.

Also, there's a good deal of selection bias going on. If you had a successful business, why wouldn't you look to expand it to multiple locations? Running a single store makes your business vulnerable and usually requires a lot of time.

<comment><USER60> While there are advantages to having large / homogeneous / monolithic / centralized entities.

There are also weaknesses in the face of some threat because there is no diversity to survive it.

<comment><USER57> I'm not sure I agree with the diversity argument. That argument is based on the biological principle of natural selection. However, an economy isn't a biological system: its a man-made system that is designed and run by an intelligence, actually many intelligent agents working together.

Biology is not designed or run by any intelligent agent that we know of. When people apply the diversity argument to non-biological systems, it makes me think they are actually and _really_ arguing for intelligent design of biology.

<comment><USER60> My argument is a nature centric one, indifferent of biology. Biology is nature through carbon based life forms.

My argument still holds, if you over centralize or lack diversity (not in the social science race or sex based sense) then you'll run into issues. Examples include Russian central governance, as opposed to more independent localized governance and sustainability. Another is non diverse economic production, for example many middle eastern countries.</comment></comment></comment></comment></comment></comment>