PostgreSQL Features You May Not Have Tried but Should - <AUTHOR> https://pgdash.io/blog/postgres-features.html?h= <comment><USER3> One of the less-known behaviour (I'm reluctant to say "features") is that you can have some sort of virtual field in a table, that will execute a function when the field is accessed. This is due to the logic that PostgreSQL treats `row.property` the same as `property(row)`.

For example, we can have the function `full_name(person)` that returns the concatenation of `person.first_name` and `person.last_name`, and we can do `SELECT p.full_name FROM person p`. I think it's pretty neat.

<comment><USER4> I had no idea about this (and I've been using the `property(row)` pattern for years), but sure enough it is documented at the bottom of the section [https://www.postgresql.org/docs/10/static/rowtypes.html#ROWT...](https://www.postgresql.org/docs/10/static/rowtypes.html#ROWTYPES- USAGE). Given that it doesn't _really_ let you do anything new, I've got to wonder if it's worth the potential confusion to people who haven't been able to find this obscure part of the documentation and will lose hours upon hours trying to find out where this table gets this "foobar" column defined...

<comment><USER5> Well, usually the first step in investigating the database is to look at the table definition (either in the migration or in the dump your database can produce), that usually clears up such confusions.

</comment></comment></comment><comment><USER6> One feature that's incredibly useful, but not on this list, is the JSON support[0]. Being able to store schemaless documents alongside your structured data is very handy in some instances. Being able to query the JSON documents in a useful manner is also incredible.

[0] [https://www.postgresql.org/docs/10/static/datatype- json.html](https://www.postgresql.org/docs/10/static/datatype-json.html)

<comment><USER7> Not just being able to query them, but to be able to create useful indexes on the data at the same time still. This means you don't have to break out parts of the JSON into separate columns and maintain both a schema and a schemaless setup for them. The indexes aren't going to be as optimized as an index on a single column, but it makes the whole thing a lot more robust in the end than relying on your application or triggers to always keep mirrored columns up to date properly.

</comment></comment><comment><USER8> Posts like this always make a little sad, because at work, we use Microsoft SQL Server[0], and for private programming, I usually prefer SQLite. Still, in some ways, Postgres feels like somebody invented a time machine and brought back a database engine from the future. _Sigh_ Maybe I will find a good reason to use Postgres one of these days... ;-)

[0] Do not get me wrong - if you can ignore the price tag, MSSQL is a great database engine. It has never given me any trouble I have not asked for, and it has some very nice features of its own (e.g. the Service Broker).

<comment><USER9> On a relative scale with other DBMS's, Postgres is one of the most featureful, nicest-to-use databases. In reality, though, it's really terrible... It's just the least terrible.

One problem is that all those fancy features are released before they are done and never completed afterwards. Thus, Postgres is a mess of special cases that prevent things from working well together. Here are just a few examples I can list off the top of my head:

* You can't make arrays of domain types (domain types are a way to constrain the allowed values of some underlying more-primitive type)

* You can't parse JSON into a composite that has composites as any of its field types

* You can't do update..returning or insert...returning as a subquery and have to fall back to CTEs

* Composites are not allowed to contain instances of themselves within any of their fields

* Table inheritance doesn't work well with uniqueness constraints

Additionally, both the text and binary data exchange formats are completely unspecified with the binary format being completely undocumented and the text format being woefully underdocumented. The text format is also just really really messy and the results that you get back from the server are very irregular... It's pretty much impossible to write a Postgres driver that is anything other than a pile of hacks produced by reading the code and guessing. Pretty much none of them properly handle the more completed cases (most just punt on composites, for example).

Anyway: Postgres has a lot of wonderful tech in it that would take many, many years to duplicate and I would pick it from the field of actually-available RDBMSes every time but... it's still deeply terrible.

All _that_ is to say: Postgres very much feels (to me) like tech from the awful, edge-casey past that is simply so useful and so hard to replicate that we are stuck with it!

<comment><USER4> I think RDBMSs will _always_ feel slightly "special-case"-y when compared, as you seem to be doing, with general purpose programming languages - <USER2> that SQL was never _designed to be_ a turing complete language (insert someone showing it doing CTE tricks that make it so...). It instead exposes a number of primitives that a database is generally good at reasoning about and in return it can "see through" a lot of the queries the user writes and find efficient ways of performing them.

If you want a general purpose language as your database engine, you'll likely end up with something more like MongoDB where for any moderately complex query you'll end up hand-writing a single static query plan for everything.

This is probably why people seem less fussed about some of the asymmetries you identify in RDBMSs. Different philosophies.

</comment></comment></comment><comment><USER10> Table inheritance has some serious limitations regarding foreign keys and some other aspects. The following warning is in the official documentation in that chapter:

> These deficiencies will probably be fixed in some future release, but in the > meantime considerable care is needed in deciding whether inheritance is > useful for your application.

<comment><USER11> I think this is being addressed now: [https://blog.2ndquadrant.com/enhancements-to-partitioning- an...](https://blog.2ndquadrant.com/enhancements-to-partitioning-and-indexes- in-postgresql-11/)

<comment><USER12> Partitioned tables and child tables are different things; I'd be surprised if 2nd Q is actually is working on support for child tables. (Child tables I believe were historically used to implement partitioning, but Postgres now has native partitioning support.) There's no mention of FK support on child tables in the v11 release notes that I can find: [https://www.postgresql.org/docs/11/static/release-11.html](https://www.postgresql.org/docs/11/static/release-11.html)

<comment><USER11> Thanks. My bad.

</comment></comment></comment></comment><comment><USER13> Seeing this has made me realize that I have one HUGE bug with native Postgres full text search.

On my blog, I have a lot of articles about the game series Borderlands. If you type "Borderlands" into the search box, it will find them, but if you type "border lands", it won't. Same with "starcraft" and "star craft", etc.

It looks like I will have to implement trigrams on top of full text search to fix:

[https://www.postgresql.org/docs/current/static/pgtrgm.html](https://www.postgresql.org/docs/current/static/pgtrgm.html)

<comment><USER14> Take a look at [0]. I think you can solve your problem with a custom text search dictionary or possibly a thesaurus dictionary. They can substitute or canonicalize documents or search terms and look pretty easy to set up.

[0] [https://www.postgresql.org/docs/11/static/textsearch- diction...](https://www.postgresql.org/docs/11/static/textsearch- dictionaries.html#TEXTSEARCH-THESAURUS)

<comment><USER13> The downside with dictionaries is that they need to be continually updated depending on the underlying content. Trigrams seem to be more versatile and hands-off, and they can work with misspelled search terms.

</comment></comment></comment><comment><USER15> Table inheritance is a non-starter for the stated use-case. Just don't. If memory serves me well even the Postgres docs recommended against using it for that last I read them. The only sane use-case of inheritance I'm aware of is when you're partitioning a table.

<comment><USER16> > Table inheritance is a non-starter for the stated use-case. Just don't.

Can you be more specific about why you shouldn't use it like this? I've used it for similar cases and it's seemed to work fine. You have to declare some foreign keys / constraints that you shouldn't really _need_ to, but it's not really any harder than creating the "child" tables from scratch anyway.

<comment><USER15> I haven't programed in years, but insofar as I can recollect one issue was foreign keys. You basically cannot have a dependable foreign key on tables with child tables. Not a useful one anyway, because the parent and child tables are treated separately. The way foreign keys are (were?) built into Postgres is using built-in system level triggers for on delete/update events. Target the wrong table and all hell breaks loose.

</comment></comment></comment><comment><USER17> Another feature that should probably be on that list is Common Table Expressions: [https://momjian.us/main/writings/pgsql/cte.pdf](https://momjian.us/main/writings/pgsql/cte.pdf)

(I still frequently run into people who work a lot with SQL that don't use CTEs, though less than before :)

<comment><USER18> Just be aware that CTEs add optimizer barriers in PostgreSQL. So a query like:

        SELECT *
        FROM ( ... ) AS results

may have a completely different query plan than a query like

        WITH results AS ( ... )
        SELECT *
        FROM results

This may or may not be desirable, and is important to be aware of.

<comment> munk-a It is a balance always... but code maintainability isn't something to be dismissed. If utilizing CTEs greatly improves your readability it's probably worth utilizing CTEs until there is a performance need to switch off (and it's pretty trivial to de-CTE a query)

</comment></comment></comment><comment><USER19> Some others more or less obscure features I used and liked:

\- data checksuming (can be enabled in initdb)

\- extending the database in C (mostly adding various functions, that would be hard and slow to implement in SQL, but I've also been able to write functions that generate datasets on the fly that are loaded from a custom server over a unix socket)

\- writing ECPG clients [https://www.postgresql.org/docs/current/static/ecpg.html](https://www.postgresql.org/docs/current/static/ecpg.html)

</comment><comment><USER20> FDW is awesome and surprisingly useful. I really want Postgres 10's partitioning support to land in an AWS Redshift PG-reboot someday. Partitioning support is very manual and clunky in that old fork.

<comment><USER21> Is there any talks by AWS engineers why they went with a fork and not say a white box implementation of CitusDB or just use EnterpriseDB or just make it a vanilla Postgres with some more performant defaults??

<comment><USER22> Redshift is a massively parallel processing columnar storage database. The storage engine is completely different. Redshift is a derivative of ParAccel which was itself forked from Postgres and _heavily_ modified. I assume AWS purchased it because it does things CitusDB and EnterpriseDB don't do. The intended workloads are completely different.

<comment><USER21> Ahh. Consider me learned.

</comment></comment></comment></comment><comment><USER23> Anybody who's used the array types care to share their experience? It's something that caught my eye reading the docs, but wasn't sure how it holds up in actual use.

<comment><USER24> Very convenient, I often use them. There's really no reason not to if your data structure is appropriate.

The only drawback for me is that you can't have arrays of foreign keys. (You could of course just store an array of the key values, but without the integrity checks).

<comment><USER25> Isn't an associative table the better option here? It would take a lot of the headaches out of dealing with arrays and constraints (ie, duplicates, limits on relationships) while keeping joins simple.

</comment></comment></comment><comment><USER26> Table inheritance seems like a natural one for devs working with a lot of class oriented languages. But also, composition over inheritance seems to be a more frequent watchword. Any experiences using this one?

Also, triggers seem pretty controversial in the discussions I've been privy too, most devs seem to hate them. Any positive experiences with them?

<comment><USER27> I think many developers want to treat RDBMSs as simple black-box data stores... something, admittedly, you can largely get away with in the majority of applications. I think this leads to a lot of developers avoiding anything that forces a real understanding of the database since they can get a fair amount done without it and that's understandable. Triggers and stored procedures and database functions intrude into this solace and therefore are frowned upon by many.

Having said all that I think it's better to have a firm understanding and a feel for RDBMS operations and development techniques and that you can produce more solid work if you have that understanding. I think if you have that understanding (and actually have an appropriate problem for a RDBMS solution) there are roles for triggers/procedures/functions in the database... just understand where the boundaries are and delineate clear responsibilities to the various pieces of the stack (that's the hard part and the part in which many fail). I also think that if you are a developer needing to make use of an RDBMS and don't have a solid understanding of your RDBMS of choice, you're going to screw up more than just anything to do with triggers/functions/procedures/etc. This is why I always approach projects where ORMs are important with caution. ORMs are just a tool, true, but often times they are also the rug under which the database can be swept... or to put it another way, a framework for building technical debt. (Yeah, yeah, not always, but frequently).

As for PostgreSQL table inheritance... just say no. You cannot overcome the object/relational impedance with that feature and you end up compromising too much of why you might want a RDBMS in the first place. I've only seen it used well twice; one of those cases being table partitioning and that is, from a user perspective, becoming much less necessary with new features in PostgreSQL. PostgreSQL is an Object Relational Database Management System, but I think you have to consider the object part of that as primarily being useful inside the database itself: it can be useful in more sophisticated uses of the database itself, especially if you are writing functions/triggers, but isn't a great tool in my experience to map to OO systems outside of the database. I have found it much clearer from an information architectural perspective and easier to maintain data integrity using standard RDBMS modeling techniques (with the exception of maintaining certain unstructured data as JSON blobs).

<comment><USER28> I was one of the developers years ago. You find your language ORM library and away you go happy coding. It was only after running into some performance issues and other bottle necks that i put my head down and spent a week learning the DB (granted its not a long time but you can learn A LOT about SQL and your DB in 40 hours).

Not only did it solve my bottle neck issues it just made it very apparent that there are a lot of things ORM do that make everything harder. They have their place but working with the DB/SQL/Triggers/Views/Mat Views/ ... improved my applications greatly.

Now years later anytime i am working with a new developer i always stress that they at least learn the basics.

<comment><USER29> Use an ORM that doesn't get in the way. There don't seem to be that many; sqlalchemy is one.

</comment></comment></comment></comment><comment><USER30> Interesting that there is inverted index support (ie GIN). Elasticsearch seems to make a big thing of using inverted indices.

<comment><USER31> Inverted indices are the underpinning of all full-text search engines. There are different ways to do them, but ultimately, you do full-text indexing by loading individual terms in the content into and index that references the document, hence "inverted" from the normal sense of indexing the document to find the content.

<comment><USER30> It seems to me then that with a carefully thought out inverted index and using the trigrams mentioned above, you could go a long way towards having the capability of the Lucene-based implementations like Elasticsearch and Solr.

</comment></comment></comment><comment><USER32> Site is down, mirror:

[https://webcache.googleusercontent.com/search?q=cache:kQC5xW...](https://webcache.googleusercontent.com/search?q=cache:kQC5xWrxqF4J:https://pgdash.io/blog/postgres- features.html?h&num=1&hl=en&gl=us&strip=1&vwsrc=0)

</comment><comment><USER33> I already knew a few of this, but still, damn, PostgreSQL is such an awesome piece of software.

</comment><comment><USER34> Pub/Sub is a feature I had no idea about! Sounds really useful for most of my use cases.

</comment><comment><USER35> A lot of these things are neat. However, they are sharp tools with specific uses that you should be careful with and understand well before employing them.

</comment><comment><USER36> Also, Lateral Joins for queries you never thought possible.

</comment><comment><USER37> Are people really not using inheritance? I think of that as the main reason to choose postgres over a non-ORDBM

<comment><USER38> I don't mind nullable columns and would rather my ORM handle inheritance.</comment></comment>


Ask HN: Where do I get the first sign-ups for my social network? - <AUTHOR>

I'm not actually starting a social networking site, but I've always been curious about the hundreds, if not thousands that are out there - where did they get their first few thousand users? Obviously we all know the story of how Facebook started, and how their user base grew. Same applies for the story about Twitter and the big screens at South by Southwest (SXSW) festival, but what about all the others?<p>Has anyone here who's started a social network got any insight on this? As far as I can see, no users = no social network. <comment><USER2> You make something that's so good you want to use it. You have your friends use it too.

If your product's so shitty your friends won't use it until their friends are there first, then you've made something bad and should fix up your product.

(My mock social network had 10,000 users in a month, and I got them all from posting a link to a blog with a few hundred users. We went viral fast.)

</comment><comment><USER3> * Digg - Kevin Rose promoted it on his TV show.

* Reddit - Early users included other YC startupees.

* HN - YC startupees who were tired of the growing crassness on reddit.

</comment><comment><USER4> Advertise? Building value for one or two niche markets (on the same platform) first seems like a good strategy. If you have some unique benefit then you can go after known enthusiast markets - games, creatives, etc. or even niches within niches. Obviously, your goal is to offer something sufficiently cool and useful that users will want to invite their friends.

</comment><comment><USER5> The members of your network have to already exist as isolated nodes. As isolated nodes, they may not realize that they are actually part of a bigger network that just need to be connected. It is your vision's job to identify these opportunities.

Your social network software's job would just be to connect them.</comment>


Will I be able to do more work with three screens? - <AUTHOR> https://www.theguardian.com/technology/askjack/2018/feb/01/will-i-be-able-to-do-more-work-computer-three-screens-multiple-monitors <comment><USER2> I had 3 screens for 2 years. Thought it would help but ended up being too many distractions. As a coder, i like 2 screens (IDE in one screen, testing in the other).

</comment><comment><USER3> Hell yeah, even better a 55 inch 4K curved TV as a monitor.</comment>


Landmark Copyright Lawsuit Cariou V. Prince Is Settled (2014) - <AUTHOR> http://www.artinamericamagazine.com/news-features/news/landmark-copyright-lawsuit-cariou-v-prince-is-settled/

<comment><USER2> Seems like the expensive road Andy Baio wisely chose not to travel, [http://waxy.org/2011/06/kind_of_screwed/](http://waxy.org/2011/06/kind_of_screwed/)

<comment><USER3> I found that article really interesting. One question that stuck out in my mind was that Andy mentioned having gone to the efforts to licence the music from the original publishers, for the 8-bit cover versions. But then having gone through that process, why would it be natural to assume that the original album artwork would not be equally in need of licensing if it were to be reproduced in a derivative form?

Much of the same arguments apply - if the use was transformative then there would have been no need to pay for the music or the artwork. Yet it was recognised that payment for the right to cover/derive from the music was necessary, so it would seem logical to apply the same perceptual standard to a no-less-copyrighted piece of artwork.

Much sympathies to Andy, though, as it doesn't sound like a fun time to have to go through something like that over a project that was fundamentally well- meaning.</comment></comment>


One switch. One head. The world. - <AUTHOR> http://www.youtube.com/watch?v=cSSgndQ5mVs

<comment><USER2> I feel extremely privileged to have worked on Discover Envoy (the switch access software and hardware solution Christopher uses). It made my day to see this video!</comment>


For South Asian Cooks, Yogurt Starter Is an Heirloom - <AUTHOR> https://www.nytimes.com/2019/02/26/dining/homemade-yogurt-starter-south-asia.html <comment><USER2> My family came to the US like 20 years ago and I can't remember a day when we didn't have yogurt. Whenever my family goes on a long trip, we have to do two things: get a neighbor to water the houseplants, and get a yogurt culture when we come back. In South India, it's traditionally eaten with rice as the last course of a proper meal. It's the perfect antidote to hot curries and pickles that come in the main part of the meal, so a meal isn't complete without it.

Young children usually start off eating solid food with a mix of rice and yogurt.

In rural areas, families make yogurt with their own cows and buffaloes and might pick a particular one for yogurt because taste varies between milk produced by different animals.

Going to relatives' places you'd notice two differences in their cooking: the way they made their chai (brand of tea, how much sugar, cardamom or not) and the texture and tanginess of their yogurt.

<comment><USER3> More anecdotal cross-cultural fun stuff... I have some Lebanese friends and noticed that their children seem to start eating labneh (somewhere between thick yoghurt and soft cheese) very early.

Also the Armenian word for cheese is 'paneer'.

People across the world can share a lot in common if they want :)

<comment><USER4> Paneer is also exact word for home made cheese in Punjabi language. Not a new one.

<comment><USER5> Both usages are borrowed from the Persian language

<comment><USER6> Of note is that Persian, Armenian, and Punjabi (along with English) are all a part of the same language family: Indo-European.

The cross-pollination of words between the members of the family always amuses me.

<comment><USER7> Given which, i wonder what the root of "paneer" is in Proto-Indo-European, as it doesn't seem very similar to "cheese". I looked it up, and didn't find a good answer. I did find a few other things, though.

Apparently "cheese"/"Käse"/etc is from a word something like "kwat", meaning "to turn sour". I would guess that Russian "kvass" is from the same root, BICBW.

Russian and other Slavonic languages have "syr", from a Proto-Indo-European word cognate with "sour". I have no idea what the difference between syr-sour and kwat-sour is.

The romance "fromage"/"formaggio" is from a root meaning "formed", because southern European cheeses are made in moulds or something (except in Spain and Portugal!). I always assumed this was connected with the fact that southern European cheeses are more likely to be soft than in northern Europe, but that's conjecture. If so, the etymology tells you that soft, formed cheeses came after hard cheeses, and largely displaced them.

Anyway there's more here:

[https://www.languagesoftheworld.info/etymology/say- cheese.ht...](https://www.languagesoftheworld.info/etymology/say-cheese.html)

<comment><USER5> It's not a definitive etymology, but there is this Sanskrit (therefore Indo- Iranian) term which may be related:

payasya पयस्य mfn. (-स्यः-स्या-स्यं) 1 Made from milk, (curds, butter, cheese, &c.)

itself derived from the word "payas" which means "water or milk". It's a possible connection to the "pa" part of the Persian word "paneer", at least.

[https://www.sanskrit-lexicon.uni- koeln.de/scans/WILScan/2014...](https://www.sanskrit-lexicon.uni- koeln.de/scans/WILScan/2014/web/webtc/servepdf.php?page=502)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Making (and eating!) yogurt is one of the simplest and most satisfying pleasures in the kitchen.

1\. Heat milk to 180 degrees (F)

2\. Let the milk cool to 108-112 degrees (F)

3\. Add starter*

4\. Divide into jars and cover with lids

5\. Leave your jars someplace warm...in a lightly warmed oven in the winter...on the counter in the summer

I like mine tart...so I'll leave it out for 24 hours. But generally if you leave it overnight, you'll have delicious yogurt in the morning.

*If you don't have access to someone with yogurt to borrow starter, you can get a starter powder in the store. The first generation won't have much flavor. But you can re-use a few spoons of your homemade yogurt as the starter moving forward. Each generation will successively develop great flavor.

<comment><USER9> If you have an Instant Pot (or maybe another electric pressure cooker), it has a "yogurt" setting that automates steps 1, 2, and 5. It will heat your milk, alert you to when to add the starter, and hold the temperature in the desired range for as long as you want. If you're lazy like me, you can skip the jars and just make the yogurt directly in the stainless steel inner pot.

<comment><USER10> Any issues you've encountered or considerations? I've been looking for an excuse to test this in mine but haven't yet.

<comment><USER9> If you regularly cook savory foods in your Instant Pot, then the O-ring might have picked up the scent/flavor of that food. The first batch of yogurt I made had a faint "taco meat" taste for that reason.

Vinegar, lemon juice, etc. didn't work to get the smell out of the O-ring, so I ended up just buying another, which I use exclusively when making yogurt. Alternatively, you might be able to just take the O-ring off when making yogurt, since you don't actually need it to be sealed, but I haven't tried this.

</comment></comment></comment></comment><comment><USER11> I haven't yet seen an explanation on whether there's any perceptible advantage to a particularly well-aged starter, or if it's just an emotional connection. Does yogurt made from a 25 year-old starter actually _taste_ better? Does it taste any different from a month-old starter from the same region? Or is it just the idea of having an uninterrupted line of culture going back to one's homeland that makes it enjoyable?

I don't dismiss that there could be something to it--I've been making no-knead bread for about six months now, and I usually leave a little bit of the previous dough to mix in with the new batch, because it gives it a slightly fermented, sourdough-like quality. But I'm only testing no-fermentation versus slight fermentation, so it's not really an apples-to-apples comparison with month-old culture versus decade-old culture. Considering how many other things controlled by bacteria tend to get better with age, I could certainly see it happening: I'd just want to see some hard (or even anecdotal) evidence.

<comment><USER12> It's not likely to taste better because it's older. It _is_ more likely to yield a more consistent flavor that can't be readily acquired from elsewhere.

Over long periods, this kind of tradition can yield unique flavors in yeasts. You can see the results of this in the many different yeasts used to make beer.

<comment><USER11> That was sort of what I was trying to figure out--whether it's appreciably better, or if the family eating the same strain of yogurt for 25 years has simply become accustomed to that particular taste.

<comment><USER13> "Better" is subjective. It's better if you like it better.

Is Blue better than Green? To some: yes, to others: no

</comment></comment></comment></comment><comment><USER3> Part-Armenian. My relatives told a story that when their grand-parents went to the USA, they soaked some cotton fabric such as handkerchiefs in yoghurt, let it dry, and then just packed it in with other clothes. On arrival they then rehydrated to have their culture.

<comment><USER14> That's brilliant. I didn't know the bacteria could survive drying and rehydration.

<comment><USER15> I'm going to guess that you've never baked your own bread, then, because most bread yeast comes in a dry form and requires you to add water to it before adding to your recipe.

On that subject, bake your own bread! It's simple enough to do, and you can get all the ingredients and a bread pan for $20. It's one of the best kinds of science experiment: one where you get a delicious treat at the end. Well worth doing in your lifetime.

<comment><USER16> > bake your own bread!

It really is incredibly easy to bake your own bread, and everything about it, from the smell, to the texture, to the taste, is just wonderful! I think a common reason people don't is because of the time commitment, but the secret is to break it up into several days, and keep the dough in the fridge/freezer. _The New Artisan Bread in Five Minutes a Day_ really changed my perspective on bread baking, and now we always have fresh bread. Even if I'm not eating it (probable gluten sensitivity and mainly low-carb adherent) I enjoy making it for my wife as much as she enjoys eating it!

</comment></comment></comment></comment><comment><USER17> I am an Iranian (Technically West Asian) and I can totally relate to this article!

What I find challenging in yogurt making g is to keep the yogurt culture from drifting and in its original state. After a while my culture becomes more acidic and less thick. I think its due to other local bacteria invading my culture, which I try to keep pure by sanitizing anything that comes in contact with it. I find it surprising that it is not an issue for most people in the article.

<comment> em-bee as i memtioned elsewhere, i found that freezing keeps my starter fresh.

<comment><USER17> Thanks for the tip, I will try that!

</comment></comment></comment><comment><USER18> This explains in part why one of the Hari Kondabolu-inspired jibes against Bobby Jindal on Twitter punched above its seeming weight - "Bobby Jindal is so white he actual(ly) has yogurt in his yogurt containers" - ie, he hadn't eaten it all or used it for starter and wasn't using the remaining empty containers for storing leftovers like 99.9999% of South Asian Americans I know.

Viz. the following comment on the article - [https://nyti.ms/2tI0PCZ#permid=30800352](https://nyti.ms/2tI0PCZ#permid=30800352)

</comment><comment><USER19> You can also make yogurt with cashew, coconut, or soy "milk" as well. Try it sometime! I don't eat dairy and have really come to love homemade soy yogurt or "yofu" :)

<comment> em-bee that's interesting. i wonder how that tastes compared to milk yoghurt.

<comment><USER20> Soya yoghurt is definitely more similar to dairy yoghurt than soya milk is to dairy milk. The underlying tastes are only subtly different, in a way a merlot grape wine might be different to a cabernet grape.

</comment></comment></comment><comment><USER21> This certainly is true, even for me :)

I'm using a culture that was brought into the US even before I was born!

Best way to sustain the culture especially during long trips, is to have friends / family nearby who will do the needful and keep the culture fine (make new yoghurt) while I'm out traveling. I didn't realize this was big outside of south India.

Good to see that people from other countries do it often too.

ps: Why does NYT hesitate to say India/Pakistan, instead of lumping them into one generic "South Asian"? I hesitate to say "South Indian" because that's generalizing 8+ languages, 4+ scripts and a few hundred cultures, cuisines and arts.

Hope the North American media learns to not be lazy ;)

<comment><USER22> I don't understand your ps. Are you saying they should or shouldn't use the term South Asian?

<comment><USER21> I prefer they don't.

It generalizes the people/region way too much, and selectively.

Good/Positive stories refer to the region in a generalized way, while the negative ones can get really specific, even though it is prevalent in more than one country.

</comment></comment></comment><comment><USER23> I think the Cooks title is selling it short. This article spurred a huge discussion on my twitter timeline where most families have it going for at least half a century.

<comment><USER24> The history of the diasporic yogurt cultures would understandably be shorter, and the article too, is written from a diasporic perspective.

</comment></comment><comment><USER25> Yogurt also apparently is Rich in probiotics! I never ever goto bed without having a cup of Yogurt. Disclaimer I am a South Indian and Yogurt/ buttermilk is THE staple diet for a lot of us. We make use of Buttermilk in a lot of various dishes prominent of which is the _Morkozhumbu_. You got to eat it to believe it. Ethereal.

</comment><comment><USER26> Those who read Michener's "Centennial" might remember this person in there who carried a sourdough starter on his body on his trek to the Klondike and started some form of business based on it there. I read it just out of primary school (about 40 years ago) so I don't quite remember the details but the practice of keeping the starter for some fermentation process alive over a longer period of time is known and practised all over the world.

<comment><USER27> That's Centennial? I thought I read that in Alaska

<comment><USER26> Very much possible that I mixed up the two, I read both around that time...

</comment></comment></comment><comment><USER28> Ms. Krishna's is a remarkable story of preserving yogurt cultures across generations. May the yogurt-at-home-makers persevere in their efforts and put to shame the industrial giants of yogurt production.

</comment><comment><USER29> I don't even read articles posted on HN anymore; just the comments. That's where the action is.</comment>


FluidApp: Turn Any Webpage into an App - <AUTHOR> https://fluidapp.com/ <comment><USER2> So, how does this compare to Flotato?

I've used both, and so far I definitely prefer the latter. But this might be early days.</comment>


Reverse Engineering A/B Tests (2009) - <AUTHOR> http://www.benchmark-analytics.com/d/?q=Reverse+Engineering+A-B+Tests <comment><USER2> I suppose it's interesting to find out whether and what companies are A/B testing, not sure you can learn a great deal though as each site will have its own objectives, KPIs, design and user segments. Rotating banners or versions of the same is really just a way to have more content and more dynamic design but its not really A/B testing.

</comment><comment><USER3> By the way - if you are thinking of A/B testing, my article has some serious considerations to make before you do:

[https://kolemcrae.com/testing-sucks-right/](https://kolemcrae.com/testing- sucks-right/)

</comment><comment><USER4> (2009)

That said, it's fascinating how archaic websites from just 9 years back look today..

<comment><USER5> When I first saw the various screenshots and the Netflix mailer, I thought this was from 2004-2005.</comment></comment>


South Carolina Cop Unloads on Unarmed Driver Reaching for His License - <AUTHOR> http://www.motherjones.com/kevin-drum/2014/09/south-carolina-cop-unloads-unarmed-driver-reaching-his-license <comment><USER2> I have a routine for being pulled over by the police:

1) Immediately slow down and apply right flasher.

2) Pull over into the far right lane.

3) Before coming to a full stop, lower the window, turn on the dome light, and turn off the radio.

4) Come to a full stop and put my hands on the top of the steering wheel.

5) Make nonthreatening eye contact with the police officer as he or she approaches. Address them as "Officer."

6) Explain exactly where you're reaching when you get your license. An example when I was recently pulled over for an expired tag: "Officer, my license is in my wallet in my right jeans pocket. I will need to move slightly and put my right hand in my pocket to get my wallet." They'll say "OK OK fine" or something like that.

7) Get your materials in a deliberate, slow, manner, in exactly the way you said you would.</comment>


The Real Reason Car Sales Are Falling - <AUTHOR> https://www.bloomberg.com/news/articles/2017-08-02/the-real-reason-car-sales-are-falling <comment><USER2> I don't buy a simple reliability narrative. I'm going to go with household income / cost divergence with a heavy salting of currency devaluation on top as "the real reason".</comment>


Pinboard: How many users are using the service? - <AUTHOR>

tl;dr Pinboard has 9550 users.
Pinboard charges a one-time signup fee of $9.55 for new members, the fee is based on the formula: number of users * $0.001, so the current number of users is $9.55 / $0.001 = 9550 users.
Reference: https://pinboard.in/help/fee/ <comment><USER2> Edit: Actually I am remembering wrong see here: <http://news.ycombinator.com/item?id=2205174>

A little more:

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

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

 __WRONG STATEMENT __: I believe that the person running pinboard mentioned that it started at something like $3 or maybe more, so it isn't 9550 but probably a bit less, even less if you count inactive users.

</comment><comment><USER3> " Pinboard is a service with about 15,000 active users (defined as people who get up in the morning and actually make the little lights on our servers blink). "

<http://blog.pinboard.in/2011/09/the_costs_of_bookmarking/></comment>


Show HN: HNBoard.com - Craigslist for Startup School / Hacker News - <AUTHOR>

With StartupSchool coming up next weekend, I thought it would be nice to have a site where you can post parties, jobs, rideshare, rooms for rent and tips for attendees.
HNBoard can also be used in general for job postings, looking for co-founders, etc.
Thanks. <comment><USER2> Very cool. Sure makes me wish I was going to Startup School 2012. Maybe next year. I have 365 days to make it happen!

<comment><AUTHOR> Thanks!

</comment></comment><comment><AUTHOR> Clickable, <http://hnboard.com>

</comment><comment><USER3> Nice, are you going to release the source for this?

<comment><AUTHOR> Thanks! Wasn't planning on it, but maybe in the future.</comment></comment>


Alexey Chervonenkis found dead - <AUTHOR> http://en.wikipedia.org/wiki/Alexey_Chervonenkis

<comment><USER2> In brief -

There's a very large park in Moscow called Лосиный остров ("Moose Island"), more of a forest really. On Sep 21st he went out for a walk in this park and around midnight called his relatives and told them he got lost. They called the police and the emergency services. Tried calling him back as well, but he didn't answer. On Sep 23rd his body was spotted from a helicopter that was involved in a search and it was ID'd by the relatives.

The rest of the article is fluff.

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

<comment><USER3> Лосиный means elk?

Moose is американский лось

I've been working on a Russian language app. It's kind of important that I understand the nuances.

<comment><USER4> It is a naming confusion (see [http://en.wikipedia.org/wiki/Elk#Naming_and_etymology](http://en.wikipedia.org/wiki/Elk#Naming_and_etymology)). Russian word "лось" refers to what North Americans call "moose" and in British call "elk" (Alces alces species). The animals of species "Cervus Canadensis", which in North America is called "elk" is called "Вапити" in Russian (i.e. "wapiti"). Russians never use "Американский лось" to name an animal, because it is the same species in North America and Eurasia.

<comment><USER2> > called "Вапити" in Russian

I'm a native speaker and I've never even heard this word before. I'd use "олень", but I'm no biologist. They all are either олень or лось to me :)

<comment><USER4> Well, wapiti _is_ a species of deer, but it is called that to distinguish it from European species of red deer (Cervus Elaphus - благородный олень) which is what Russians usually mean by "deer".

</comment></comment></comment></comment></comment><comment><USER5> Chervonenkis had an appointment at Royal Holloway College, and their site has more:

[http://www.clrc.rhul.ac.uk/people/chervonenkis/](http://www.clrc.rhul.ac.uk/people/chervonenkis/)

I slightly knew Vladimir Vapnik for a while when he was at AT&T research, and he was a very kind, approachable, and passionate guy. You just had to not let his rather formidable reputation (VC dimension, uniform convergence, and the SVM, which at the time was just emerging) get in the way.

</comment><comment><USER6> Link to Wikipedia article: [http://en.wikipedia.org/wiki/Alexey_Chervonenkis](http://en.wikipedia.org/wiki/Alexey_Chervonenkis)

<comment><USER7> Not in his individual Wikipedia article (yet) : He name is the 'C' in VC- dimension : [http://en.wikipedia.org/wiki/VC_dimension](http://en.wikipedia.org/wiki/VC_dimension)

</comment></comment><comment><USER8> I suppose this is a good time to mention hiking safety.

Boy Scouts of America Hiking Safety Recommendations:

\- Always tell someone where you are going and when you will return.

\- Never hike alone or at night; use the buddy system.

\- Dress properly for the weather and environment.

\- Wear sun and insect protection

\- Take an extra pair of socks in case you need to change.

\- Obey traffic signs and signals.

\- Avoid hiking along roadways.

\- Stay on the trail.

\- Be alert to your surroundings.

\- Don't litter as you hike.

\- Be alert to dangerous animals, insects, and plants.

\- Never touch a wild animal.

\- Take 1 pint of water for each hour you will be hiking.

\- Never drink untreated water.

</comment><comment><USER9> I read about him just now, admittedly was not aware of him prior.

My first thought though given the location was "so what was this guy doing the government didn't like?".

<comment><USER10> "Given the location"? What is it about a forest that makes you think the government was involved? Or do you mean that every death in Russia is a suspicious death?

<comment><USER9> My comment was exactly that...

Basically saying that as someone uneducated on foreign affairs my gut reaction to a death of a prominent Russian scientist is to suspect that the article is about suspicious conditions.

Not sure why this got negative feedback... I bet a lot of people immediately thought that was the purpose of the story.

<comment><USER11> People seem to be interpreting your comment as an accusation, rather than an admission of bias.

<comment><USER9> Thank you. I think you are right. Felt like somehow what I said was inflammatory. If anything it's admission of ignorance... but one I thought was worth mentioning.</comment></comment></comment></comment></comment>


An ex-trucker has some questions about the Tesla Semi - <AUTHOR> https://www.autoblog.com/2017/11/19/tesla-semi-trucker-questions/ <comment><USER2> A bit of background: I've done thousands of hours of driving in rolloff trucks. They're semi's that load debris containers onto rails mounted over the chassis, haul the load to the transfer station/landfill, and deliver containers to job sites. Now I write software for the industry that I used to labor in.

I completely sympathize with the concerns in the article, but I have faith that Tesla will be able to overcome the challenges and some of them are perhaps not looking at the trucking industry "of the future" here's a good example:

The concern about a roll down window isn't that big of a deal. Doing rolloff meant crossing a scale multiple times per day where you'd exchange paperwork with the scale house attendant. I just completed a project that will keep drivers in the cab while at a landfill/transfer station if they have a tablet and the site is connected with our scale software. All of the interaction is done on a tablet while the truck is on the scale, the driver never leaves their seat or rolls down a window. If we're doing stuff like this for garbage, surely other trucking is going to be be digitizing these types of interactions and there are some nice big screens in the truck to make it easy.

The biggest concern that I share is the passing issue with a center seat, but that should be easily solved with a camera that shows a forward view when a turn signal is engaged. Two big screens mean you'd get a forward and all the blind spot views necessary to make a safe pass.

Side note: If Tesla wants to make a version for hauling trash, they could have an enormous impact on local emissions.

<comment><USER3> What's stopping a tractor/trailer from weighing itself, if a large manufacture r was to pay a very large bond to ensure that spot checks were valid?

I was suprised to see there are 13,000+ freight brokers in operation. Where's the Uber?

</comment></comment><comment><USER4> Re: central seating position. Try driving a combine harvester or an agricultural tractor pulling a long train of equipment. They can be heavier, longer, and/or wider than a semi. They use a high central seating position for a reason.

Re: mirrors. They're not there for aerodynamic reasons. The semi has a lot of cameras, so you'll have to use the screens. Sometimes a mirror or sticking your head out the window might be preferable, but it's a reasonable substitute.

Re: night mode. It'd be nice if they used OLED screens with a dark theme so you can really crank down the brightness and black is completely black. Still time to change that if it isn't, so hopefully somebody from Tesla is reading this and/or advocating for it.

<comment><USER5> Are you comparing a semi truck driven at 70 mph in between two lanes of traffic to a piece of farm equipment that maxes out at 15mph and is typically driven without another vehicle in sight?

<comment><USER6> Farm equipment still has to be driven with <6" of clearance on either side so it doesn't drive onto produce rows. Semi trucks aren't passing people going 70 mph faster than they are, and vehicles to the side and rear won't be going at a bigger speed difference than 15 mph. You only have to worry about things coming at you at 70 mph from the front.

<comment><USER5> It's still an absurd comparison. I'd venture to guess that the average combine is driven in a straight line at a set speed at least 95% of the time it's being used.

<comment><USER7> The worry for combine drivers is that last 1% of the time when they have to get that big machine (with wheels on it takes a lane and a half). Then running at 15mph they have to get from field to field. There is a big problem with other drivers (cars) seeing it from well back and not realizing it is going slow until it is too late and they rear-end it. Or they realize it is going slow in time, but because it is slow they decide to pass on a blind corner (or perhaps pass just as the combine passes a mailbox and so it cannot move over).

Yes rural roads do not have a lot of traffic, but they are not empty.

</comment></comment></comment></comment></comment><comment><USER8> A lot of those problems seem to revolve around line of sight issues, which won't matter because the thing will be loaded with sensors.

And one additional thought: When evaluating a potentially disruptive technology, the opinion of veterans is important and may indicate that they won't ever adopt the new technology in massive numbers. However veterans by definition have a lot of hard earned experience, which means they won't see the benefits of automation and ai assistance, while people new to the field will have the benefit of not having to gain that experience to be productive. Which means that the old tech will age out as veterans retire.

<comment><USER9> But on the other hand, Tesla already has a few notable sensor failures, the biggest one being the fatal crash when the sensors failed to see a semi truck at 90 degrees to path of travel (or cancelled it out as noise, etc.)

Obviously things improve with time, but Tesla has never convinced me of having a robust pipeline for validating their sensors/AI projects. Everything they release feels like someone said "well, it's good enough for how much we're willing to spend." Notably, their refusal to evaluate LIDAR when every other company is banking on it.

<comment><USER10> You don't think Tesla evaluated LIDAR at all? I'm sure they did preliminary tests to confirm or deny what they could and couldn't do with it.

Considering every car produced by Tesla in the last two years has Autopilot, I think their pipeline is pretty great at gathering data for every car and performing tests against the data they gather.

<comment><USER11> LIDAR sensors are expensive. I wouldn't be surprised if Tesla stopped evaluating them right there and thought, looking at the price of regular camera sensors, "Well, humans have two RGB cameras in their head and seem to do just fine. We can replicate that!".

</comment></comment></comment></comment><comment><USER12> I'm curious how stuff like a rear view camera is going to work since it seems even more essential now given the seating position. Do truckers now have to install/re-install a camera on trailers when they pick them up? Is it wireless, so that means batteries?

</comment><comment><USER13> A mini rant on this site - I just got uMatrix installed and the amount of scripts on this page is overwhelming. In spite of enabling most CDN related stuff, the article doesn't show up. Used the "reading mode" and somehow the article shows up.

<comment><USER14> > I just got uMatrix installed

Sometimes you need to reload the site without cache with Ctrl+Shift+R. uMatrix can be a bit finicky.

</comment></comment><comment><USER15> Says a horse rider about a car

<comment><USER16> I think he has some constructive points, don't know if I would really label him a Luddite...

<comment><USER15> How many years till will won't need drivers?

Tesla should just kill driving and go fully autopilot, it's insane that a human has to drive a truck from point A to B, is just a waste of time and extremely dangerous.

<comment><USER17> You want to trust an 80k lbs semi in driving rain and sleet on a frozen mountain pass?

There are tons of conditions that even the best autonomous systems are no where near ready for.

It's going to be a while.

<comment><USER18> Yes.

Because when the autonomous systems are trained on how to handle adverse conditions, its the sum of the knowledge of all machines that build how to handle these conditions. Whereas each human has to learn it individually. And given how bad people drive even with rainstorms, I'd put the money on the computers.

And frankly, we can also discuss if "driving in rain/sleet on frozen mountain pass" is even a good idea. Because computers can also provide data like "Estimated chance of wreck is X%", and decisions can be made using that.

Tl;Dr. One machine learns and can share with all nearly instantaneously. 1 human learns and that's it.

<comment><USER19> > And given how bad people drive even with rainstorms, I'd put the money on > the computers.

In the long term, yes, definitely. And I am looking forward to the day.

But it is going to be a while, and it is going to be a while longer until all the politicians and insurance companies are convinced of that, too.

<comment><USER18> I can easily see insurance companies being convinced of that a lot sooner. Why, you might ask?

An "auto" will have less incidence of wrecks and drive provably safer. And the "auto" will also record everything as proof, so if there is a wreck involved, it's a simple "download and review the footage". Guilt is now easy to prove as well as trivial to exonerate.

And all of those things will bring the cost of insurance down for the insurance companies. And many of them will then lower their rates appropriately given very high standard of proof they provide.

After all, insurance is heavily based in the sciences and mathematics. If they weren't, insurance companies wouldn't last very long at all.

Now, I have no clue on how to get politicians to understand science. I'm not sure if that's even possible, as science can easily go against an ideology - and thusly their political stance.

<comment><USER5> I think that your thinking is too shortsighted. Autonomous driving, if it's going to be as rosy as you and I both think, is going to be what kills much of the auto insurance industry. What we have now are more serious and more frequent accidents compared to the ideal future, yielding higher premiums. Higher premiums --> higher cashflow --> higher profitability for insurance companies. Sure, they want to see fewer accidents - but if it's to an extreme to the point where competitive forces dramatically bring premiums down, the insurance business won't be so great. I see insurance companies lobbying very strongly against autonomous driving in the near future.</comment></comment></comment></comment></comment></comment></comment></comment>


Stone Story is an RPG animated entirely in ASCII symbols - <AUTHOR> http://stonestoryrpg.com/ <comment><USER2> wow - incredible artwork</comment>


Tell me who you are, i'll tell you which apps you need - <AUTHOR> http://www.getapp.com/appfinder

<comment><USER2> I would use this if it didn't gather my email address or contact information, but I could see others using it that didn't mind giving up theirs. Good idea!

<comment><USER3> <http://pleasespam.me/> and similar services are always handy for this</comment></comment>


Crux: Bitemporal graph query db for Clojure and java - <AUTHOR> https://github.com/juxt/crux <comment><USER2> Nice to see that temporal or even bitempiral database systems get developed lately more and more (but most of the time just as extensions to an existing system), thus I enjoyed reading about your native approach.

Do you store all revisions in one huge LSM- tree indexed by the transactional start- and end-times?

I'm developing one myself (already started around 2005 or 2006 by a Ph.D. student) and I'm still eager to put forth the ideas of a versioned data store :-)

<comment><USER3> > Do you store all revisions in one huge LSM- tree indexed by the > transactional start- and end-times

Specifically, RocksDB uses an LSM tree whilst LMDB uses a B+ tree. You can get a feel for how Crux maintains its indexes here: [https://github.com/juxt/crux/blob/master/src/crux/codec.clj#...](https://github.com/juxt/crux/blob/master/src/crux/codec.clj#L25-L32)

Crux doesn't natively track valid-to (end) times, but you can transact a Delete into the future to achieve the same logical result.</comment></comment>


DataGrip 1.0 (formerly 0xDBE): A New IDE for DBs and SQL - <AUTHOR> http://blog.jetbrains.com/datagrip/2015/12/16/datagrip-1-0-formerly-0xdbe-a-new-ide-for-dbs-and-sql/ <comment><USER2> If you are on Windows, then HeidiSQL is very good (MySQL, MSSQL and PostgreSQL).

If you just want something very light and easy and runs in a browser, then Adminer is pretty good (not an IDE, but certainly better than PHPMyAdmin).

<comment><USER3> Absolutely agree with HeidiSQL. I'm in a situation where I'm still running MySQL 4.0.26 and essentially nothing properly supports that with the exception of the old MySQL query client (not workbench) and HeidiSQL which blows mysqls software out of the water. It's a really solid software.

<comment><USER4> Datagrip will work, so long as you have compatible JDBC driver.

<comment><USER3> I'm going to give it a shot again, but when I tried before it was buggy with support for that version. It seemed like it technically connected but it wouldnt run any queries nor show any of the columns. Now that it's 1.0 I'll try again but I can't spend too much time fighting it. I really want to be able to use it but time unfortunately equals money :/.

</comment></comment></comment></comment><comment><USER5> I use DBeaver daily and it is probably not the best tool in the lot (well, it probably is if we're only looking at free ones) but I have become quite accustomed to it.

That said, I use PHPStorm and maybe DataGrip will complement the knowledge of JetBrains IDEs.

I'll give it at least a few hours of SQL work and get back.

EDIT: Well, apparently I won't have a couple of hours fiddling with the tool considering that it does not really work as I expect it to.

* Added a MySQL connection, can't seem to be able to work with multiple databases unless I create multiple data sources. That's weird.

* Selecting a specific DB (what I don't really want to do) still shows me the wrong table list from a different DB. 'Forget Schemas' does not work. Weirdly enough, I can query the DB I selected, it just won't resolve the table names (and do autocomplete).

Though, it's probably just me having this problem since there's no way this would go through the testing phase.

EDIT2: The price is also way too much in my opinion. It basically costs as much as PHPStorm. Not sure why you would by DataGrip instead of Navicat.

<comment><USER6> > EDIT2: The price is also way too much in my opinion. It basically costs as > much as PHPStorm. Not sure why you would by DataGrip instead of Navicat.

Uhm for Navicat you need to buy a different license for each database and operating system you use. Where I work we use both SQL Server and MySQL and I use three different computers with different operating systems. JetBrains terms are much friendlier.

<comment><USER7> Navicat the Premium[1] edition includes all the databases. But to your point, you still have to pay separately for each operating system, and paying $599 for a single platform is expensive.

That being said, I've tried a dozen SQL utilities and the only one that is fast and responsive for large tables is Navicat. The other utils such as RazorSQL, SQLMaestro, Firefox XUL plugins, NET LINQPad, etc are memory hogs and very slow for browsing tables with 100,000+ rows. I haven't tried JetBrains yet but the 3 others that were written in Java and used JDBC were very slow so I wouldn't be surprised if DataGrip is slower than Navicat.

If one is mainly using SQL frontend tools to help with syntax completion to speed up typing in commands (ALTER TABLE, SELECT INNER JOIN, etc), any of those utilities will work fine. But if you happen to need the tool to provide a responsive "Excel-like datagrid" for browsing big tables, my experience has found that Navicat is unmatched.

[1][http://www.navicat.com/products/navicat- premium](http://www.navicat.com/products/navicat-premium)

</comment></comment></comment><comment><USER8> I tested the beta, and compared to SQL Server Management Studio, it was really nice to use it. Everything was must simpler and easier to use.

It had mostly problems to manage the specificities of SQL Server (not in the SQL standard).

<comment><USER9> Have you tried their diagram tooling?

Having ER models is pretty standard on the documentation of our projects.

The page doesn't provide any screenshots for them.

EDIT: Found the screenshots, [https://www.jetbrains.com/datagrip/features/other.html](https://www.jetbrains.com/datagrip/features/other.html)

<comment><USER10> >Have you tried their diagram tooling?

I'm not the OP, and I have tried the diagram tooling, walking away not just disappointed, but annoyed at the waste of time every time.

I understand that automated diagramming is one of those problems that looks a lot easier to solve than it actually is; the results were hilariously awful every time I tried it, though, even with pretty basic DB schemas with the most basic of foreign key definitions.

</comment></comment></comment><comment><USER11> On Mac, you may want to try Warp ([http://warp.one](http://warp.one)). It allows for quick drag-and-drop data importing and exporting across different file and database types. It abstracts the underlying storage away, and will automatically push down queries to the database as much as possible.

</comment><comment><USER12> It's a fairly weak product given the other JB products that I use. But, I anticipate that they'll continue improving it. The layout is just confusing and not intuitive. And, it lacks a lot of power features.

But, recently, I've been using Redshift a lot (as well as MySQL and Postgres). So, it's convenient to have open all the time.

</comment><comment><USER10> I've been using the beta pretty much well since day 1, purely as a quick and easy client for non-MySQL databases (e.g. SQL Server).

DataGrip is decent enough, and kinda-sorta works most of the time. Its design seems firmly rooted in the 90s, though, and the extra features (such as diagrams) seem to be bolted-on, half-baked "I can write this in a day!" tools that quickly fall apart after a few minutes' in-depth use.

It's frustrating, as there's a real need for a cross-platform, cross-database version of something like [http://www.sequelpro.com](http://www.sequelpro.com)

DataGrip's pricing also seems astronomically high for what you actually get.

<comment><USER13> I think alot of people might pick it up as part of JetBrains new subscription model.

</comment></comment><comment><USER14> I used the beta for a couple of days but gave up because i wasn't able to find all the functionality i was used to from Oracle SQLDeveloper. Since i don't write much SQL but use it mostly to view and aggregate information, it's important for me to find the tables and views very quickly. The beta version i used was a bit early i think and i will definitely give it one more try, since i like using other products by jetbrains, i think they changed a lot since the version i tried.

</comment><comment><USER15> I tried the beta briefly, but to be honest it came no where close to [http://www.sequelpro.com](http://www.sequelpro.com) for ease of use.

<comment><USER10> >I tried the beta briefly, but to be honest it came no where close to [http://www.sequelpro.com](http://www.sequelpro.com) for ease of use.

I would kill for a sequelpro that worked with other databases.

<comment><USER16> Postico is awesome for Postgres.

</comment></comment></comment><comment><USER17> I used it for about half of the EAP. For the biggest problems were performance and some general quirks (which admittedly may have been fixed/adjusted by now). It also didn't particularly provide me with a sense that I was being more efficient.

Right now I use a combination of SQL Management Studio and Atlantis SQL Everywhere. SMS to manage entities in design view, and Atlantis because of it's much better intellisense and ease-of-use features.

</comment><comment><USER18> will this be like a lot of the other individual apps and the functionality also included in intellij? I know there already is a lot of database functionality built in that is similar.

I tried it during the beta and was pretty pleased with it, but the individual price is a bit too steep in my opinion.

<comment><USER19> My question too! I"m using PyCharm with the DB plugins tools installed. It works very well. And it looks like this product is intellij with only the db plugin installed. What more features does it have?

</comment></comment><comment><USER20> Some product questions:

How does DataGrip support connectivity with different database engines? Is it JDBC or ODBC connectivity?

Does DataGrip use internal SQL parsing for various SQL dialects or is the SQL validated always against the server?

Does DataGrip include SQL profiling, like MS SQL Profiler?

Do you intend to add MDX support?

<comment><USER21> I will answer to the first question : Seems that it's using JDBC , for Firebird it can be used with Jaybird driver

[https://devnet.jetbrains.com/message/5518562#5518562](https://devnet.jetbrains.com/message/5518562#5518562)

</comment></comment><comment><USER22> I use Toad, and the one feature that I can't live without is the tabbed results with column filtering. I do a lot of data explorations and being able to go back to previous queries quickly and compare is a big time saver.

</comment><comment><USER23> I've been using it on OSX for a few weeks. It hard-crashes on me every few hours, despite using latest version, having latest OS updates, and a beefy machine (maxed out MBPr maybe one generation old)

</comment><comment><USER24> I prefer to use Valentina studio.

Unfortunately there is no oracle support but for PostgreSQL and MySQL is by the far the most convenient tool.

</comment><comment><USER25> Are there any command line tools that provide more functionality than vanilla psql?

<comment><USER26> Check out [http://pgcli.com/](http://pgcli.com/) , seems to be pretty good.</comment></comment>


Interviewing Ruby Programmers - <AUTHOR> http://www.oreillynet.com/ruby/blog/2006/03/interviewing_ruby_programmers.html

<comment><USER2> Keep in mind this is from March 2006. So some of the specific examples are a little dated... The overall intent is still as relevant as ever.</comment>


Name Squatting and Anonymous Coolness. - <AUTHOR> http://cmdrtaco.net/2011/10/name-squatting-and-anonymous-coolness/

<comment><USER2> I read this in comments when the last time CmdrTaco posted on HN. Full points for ethics.

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


Bayes and Deadweight: Using Statistics to Eject the Deadweight from Your Life - <AUTHOR> https://fs.blog/2018/01/bayes-deadweight/ <comment><USER2> > how do we identify these people who add nothing positive — or not enough > positive — to our lives?

The dude invokes bayes theorem (the theorem that is trending right now) to solve such a basic issue? His grandmother can give him better advices than Bayes.</comment>


Man created 130 Facebook profiles to stalk his ex-girlfriend. - <AUTHOR> http://thenextweb.com/facebook/2011/10/20/this-la-man-created-130-fake-facebook-pages-just-to-harass-his-ex-girlfriend/

<comment><USER2> The article mentions that the guy is facing charges on the basis of California's Internet Impersonation law, so I suppose the ads he posted on craigslist were written in a way to make it appear as if the poor girl had posted them herself, i.e. he pretended to be her.

But say he didn't do that, but merely created lots of websites with embarrassing material, such as the "sexually explicit pictures" mentioned in the article: would that actually be unlawful, assuming he is the copyright holder of the pictures?

One would think it should be, but on the basis of which laws? He wouldn't actually be harrassing her in that case, would he, since websites are not addressed to her in particular. I imagine he would be covered by the First Amendment?!

<comment><USER3> Wow is there really an Internet Impersonation Law? We do really live in the future! Some sick sci-fi...</comment></comment>


Show HN: The shameless experiment - <AUTHOR> http://lookapinky.com/view?id=vK74WUOiQ9buuY

<comment><AUTHOR> What would you build instead to make this idea work?

<comment><USER2> <http://lookapinky.com/view?id=tjfVN1SQ11ZOvS> :)

</comment></comment><comment><USER3> Explain, please.

<comment><AUTHOR> I'm trying to make it easy to ask someone I don't know that well for a favor. I believe people don't ask for help often enough.

Could HN-ers provide feedback on this idea of making it more socially acceptable or easier to ask for favors?

I'll be happy to provide feedback to one of your ideas or to help with something you need in the best way I can.

<comment><USER4> To make it easier to ask for favors - it would be helpful to know whom to ask for favors as well as what specifically to ask. The issue with making it more socially acceptable is that people normally go to the "experts" for very easy favors so they get lots of requests and people with slightly less knowledge might get less request.

Here's an idea - have me tell you what the request entails (programming, personal finance, love, money, etc) and then search through the meetup api of groups that have those key words in them. Now you return to me a list of people on meetup who belong to groups that contain people I could request a favor from. As long as it's in their interest area and you help me write a nice email, you can get me started.

<comment><AUTHOR> I realized what I want more is getting the favor granted, not (just) making it easier to ask for the favor.

There are issues related to expertise and power I don't have clear thoughts on yet.

The idea of searching for people that can grant a favor is helpful to think about, thanks. It can work when one does not necessarily need an expert.</comment></comment></comment></comment>


Ask HN: How do you deal with your frustrations around a project and management? - <AUTHOR> On a project, where things are not like you want them to be, and you continously encounter code which is not tested, implemented by a "spec" and whatnot.
Where you feel like no one else speaks up around challenges and the same constant issues that doesn't seem to get resolved.
I can't help myself and speak up about these frustrations and people not really wanting to adopt a positive change.
Thanks <comment><USER2> When I had a corporate job, one of the managers always said "Bring solutions, not complaints." I have generally found that approach to be a good practice.

Venting about your frustrations amounts to adding burdens to the system. They are probably also frustrated, and now you are making your feelings their problem. Better to deal with your frustrations on your own and not bring it up until you have something constructive to say.

</comment><comment><USER3> I have similar problems. Here's my advice:

Do the best you can. At least your code can be done the right way.

If management forces you to not do things the right way, then when it blows up, it's their fault, not your fault. In that case, you need to compartmentalize. Your job is not your life. The shitty code you get paid to work on does not define your talent or your worth as an engineer. If you do your best to fix it but nobody cares and you just get beaten down... that is not your fault! Don't stress out about it.

If you struggle to compartmentalize, that's okay. Some people are better at it than others. But in that case, you might want to start looking for other work.

</comment><comment><USER4> I try to follow "be the change you want to see" and bit by bit try to nudge the project in the right way. Start testing more code, speak with people about the issues that don't get resolved.

There may be reasons that haven't been communicated as to why issues haven't been resolved that fill in a bit more of the picture. At the end of the day though, I think it's the owners company and the PM's project. When that doesn't work any more, it's time to start looking for something new.

</comment><comment><USER5> I'm sure people will have a bunch of feel-good suggestions here.

Want a good dose of reality from my perspective?

I'd say suck it up, then move on somewhere else and hope that it will be better.

I don't mean be silent either. But don't try too hard to fix things or be the voice of reason and things like that.

Very very few cases like that see tangible change from the inside.

There are often much deeper rooted systematic problems present. And in many cases there's no interest in willingness to "fix" any of those problems in the first place.

They may express interest in the _outcome_ of the fixes (better stability, etc). But ... well you will find somehow there's never enough time to actually invest in achieving those outcomes.

Without knowing more about your case I can't be more specific.

But just remind yourself, things don't just snap into existence out of thin air.

If things have been like that where you are for a while, chances are it's going to stay that way for a while longer too.

The current state of an environment is somewhat representative of what has been encouraged, rewarded, discouraged and punished there.

You may be tempted to be the hero that makes things right. You are probably one just like the many that came before you and are long gone.

<comment><USER6> So many hard truths in one post, the only bit I disagree with is this:

> I'd say suck it up, then move on somewhere else and hope that it will be > better.

IME the next place is likely to be not much different and you can quickly be labelled a job hopper, which becomes self reinforcing if all you can pick up are short term contracts.

> They may express interest in the outcome of the fixes (better stability, > etc). But ... well you will find somehow there's never enough time to > actually invest in achieving those outcome

This nails it. Everyone says they care about quality for instance, but few are willing to invest the time/money that it takes to produce high quality (or even decent quality) software. Organisations need to be judged on actions not words, if there is a constant pipeline of features to add but no time allotted to refactoring then they don't care about quality.

As for personal advice for anyone in this situation, mine is to learn not to care, detach yourself from your work, it's been a boon to my mental health over the last few years. The company releases a turd? I no longer give it a second thought, if they didn't want a turd then they would put the right structures in place to prevent turds, but if they don't care then why should I?

Another one is to put some distance between my side projects and work, in the past they've always been somewhat work related, often experimenting with tech that is directly applicable to the company I was working for. I find I'm happier when my side projects are completely different technology stacks.

<comment><USER5> > IME the next place is likely to be not much different and you can quickly be > labelled a job hopper

I guess the suck it up part means staying long enough to avoid that.

</comment></comment></comment><comment><USER7> I don't think I've ever been in that situation but if I was, I would just go someplace else. Life is _extremely_ brief and there are lots of other companies that aren't messed up. If you are a developer, and you aren't looking forward to going to work in the morning, think strongly about changing your employer.</comment>


An extra bit of analysis for Clemency - <AUTHOR> https://blog.trailofbits.com/2017/07/30/an-extra-bit-of-analysis-for-clemency/ <comment><AUTHOR> For this year's DEFCON CTF, the organizers decided to break all existing tooling by making a custom architecture with 9-bit bytes, 27-bit words, and middle-endian integers.

I was able to make a [Binary Ninja]([https://binary.ninja](https://binary.ninja)) architecture plugin on the flight to Vegas, but unfortunately I had to expand everything to 16-bit bytes to be able to handle addressing. This made control flow graph recovery possible, but I had to choose between accurate data references or accurate immediates. I ended up going with accurate immediates and letting my data references fall into the middle of functions (because instruction addresses were all 2x).

The 27-bit words and middle-endianness wasn't a huge issue, but the 9-bit bytes really really sucked. We had IO buffering issues on every exploit we wrote and analyzing PCAPs was a huge pain.

</comment><comment><USER2> Its great that the CTF organizers fielded a neutral architecture that no one would be familiar with. This helps put everyone on a more even footing and tests their knowledge of their tools and reverse engineering instead of knowledge of architecture internals

<comment><USER3> In many cases I guess more the ability to extend or completely replace their tools.</comment></comment>


My app: IPromise – new super simple self-motivation tool - <AUTHOR> http://ipromise.site <comment><AUTHOR> Hi. IPromise creator here.

If you've got any questions, problems or suggestions or ideas, please comment. I'll be around to respond.</comment>


We, the Unoffended - <AUTHOR> http://blog.cleancoder.com/uncle-bob/2018/12/16/unoffended.html <comment><USER2> > _We are intolerant only of intentional or negligent harm._

Fine. So are the rest of us. Either you just undifferentiated yourself or you don't understand what it is that you just said.

> _Are not offended by what you do, what you say,..._

Except when you perceive that it causes harm. Just like the rest of us.

> _...your politics, your religion, or any other...chosen attribute._

Except when you perceive that it causes harm. Just like the rest of us.

> _Are not offended by your...votes..._

Except when you perceive that it causes harm. Just like the rest of us.

I'd keep going but this is tiresome.

<comment><USER3> I'm not sure I can say this without it feeling a bit personal to you, but you don't /sound/ unoffended, which is pretty ironic and kind of the whole point of the article.

I hope that doesn't offend you :/

<comment><USER2> > _you don 't /sound/ unoffended_

Actually, I sound annoyed.

What you might be sensing, though, is that I'm telegraphing to you that I perceive that the OPs version of introspective failure causes real negligent harm to others in practice.

</comment></comment></comment><comment><USER4> Love it!

Fount one typo: "inadervtent" -> "inadvertent".

</comment><comment><USER3> I can certainly get behind that!</comment>


The Myth of Gentrification - <AUTHOR> http://www.slate.com/articles/news_and_politics/politics/2015/01/the_gentrification_myth_it_s_rare_and_not_as_bad_for_the_poor_as_people.single.html <comment><USER4> The piece leads with:

"It started in Soho, then moved to Chelsea and the East Village"

As someone very familiar with these areas I can tell you this is wrong and inaccurate. The art scene in 80's become very hot in the East Village and the galleries moved out of the storefront galleries to SOHO because there was larger space there. When they were priced out of SOHO, the galleries moved to Chelsea.

Why is this important? Namely because it shows that the author's glaring disregard for basic fact checking and attention detail. Two qualities you might think that are important in writing a piece that deal with demography and statistics. To me this makes the whole piece suspect.

The pieces then goes on to site data that is now 25 years old?

"Sharkey took a close look at black neighborhoods that saw significant changes to their ethnic composition between 1970 and 1990."

Gentrification and Hyper gentrification are something that has become something of a phenomenon in the last 10 years or so. The author then goes on to site a study that is now 11 years old:

"In 2004, Columbia University economists Lance Freeman and Frank Braconi conducted a similar study of gentrification in New York City in the 1990s"

Then the authors drops this nugget:

"If gentrification occurs so infrequently—and if it may help rather than hurt existing residents—why are so many people so upset about it? ?"

Huh? Nice bit of editorializing there.

Journalism like this is dangerous as it is little more than a policy piece disguised(not very well) as real actual journalism.

As tired as I am on the ubiquitous gentrification conversation. I have also watched it unfold first hand in three different places I have lived. I doubt that I have somehow imagined this phenomenon.

<comment><USER5> I don't think the point of the article is that gentrification isn't actually happening. I think it's that while people often talk about gentrification as a bad thing - something that hurts the poor - gentrification is actually more often a good thing:

"McKinnish and her colleagues found that gentrification created neighborhoods that were attractive to minority households, particularly households with children or elderly homeowners. They found no evidence of displacement or harm. While most of the income gains in these neighborhoods went to white college graduates under the age of 40 (the archetypical gentrifiers), black high school graduates also saw their incomes rise. They also were more likely to stay put. In short, black households with high school degrees seemed to benefit from gentrification."

And while people, including myself before reading the article, think of gentrification as a widespread phenomenon that is happening all over the US, it's actually only happening in three cities: New York, Chicago, and Washington.

<comment><USER6> Setting aside the questions about material improvement (in the form of income, etc) which seem well addressed by others, this way of looking at the problem overlooks one of the most serious critiques of gentrification: it disrupts existing communities, forcing longtime residents into environments where they no longer feel a sense of belonging and ownership, and reduces cultural diversity.

Another way of looking at the point: "gentrification" is more than just the arrival of affluent people to a previously poor neighborhood. "Gentrification" also refers to the cultural changes that come to a neighborhood as a result of an influx of more affluent residents. The latter can happen (infrequently) without the former.

Of course, this doesn't mean that gentrification is necessarily bad. It may be that the improvements to safety, material wealth, etc. that often come with gentrification are worth the trade-off.

</comment></comment></comment><comment><USER7> This doesn't seem to make much sense. The article treats neighborhoods like islands, and doesn't analyze the inflow of residents.

Anyone familiar with living in an area with rapidly increasing rent should understand the results here: people move between neighborhoods at generally equal rates all things being equal. In a gentrifying situation, people of less means will try to stay longer because they know they won't be able to get back in later and enjoy the same safety, amenities, etc. Rent control helps with this.

But when they choose or are forced to move, the people coming in to replace them are higher-income, as opposed to people in the same income bracket, which this article doesn't address.

The way the article analyzes the situation, two working-class neighborhoods exchanging 50% of their low-income population are experiencing more "gentrification" than a neighborhood where 10% of low-income people are replaced by high-income people every year. I don't think anybody thinks of that result as a reasonable measure of gentrification.

<comment><USER8> > people move between neighborhoods at generally equal rates all things being > equal

Source?

> In a gentrifying situation, people of less means will try to stay longer > because they know they won't be able to get back in later and enjoy the same > safety, amenities, etc

What poor black inner-city neighborhood are you living in that has better safety and amenities than the county surrounding it? People don't want to move because they just don't want to move, and they already had a house paid for, probably for more than a generation.

> But when they choose or are forced to move, the people coming in to replace > them are higher-income, as opposed to people in the same income bracket, > which this article doesn't address.

Again: Source? In a lot of neighborhoods in my city, people may have chosen or been forced moved out, but nobody ever moved in. Your generalization doesn't work for all cases.

> two working-class neighborhoods exchanging 50% of their low-income > population

What neighborhood is this? Working class people don't just move around to the next neighborhood all the time. They buy a house and stay put; that's the whole idea behind the fantasy of the American dream and the working class.

<comment><USER9> > Source?

a priori. lsy is constructing a model. The foundation of the model is equilibrium. They're going out of their way to highlight the things that are out of equilibrium to explain why people might move for other than random reasons.

Imagine a world with only two cities easterland and westerville. If crime, safety, amenities, economy is the same, people are going to bounce around for random reasons. maybe bobby got into westerville state. mabye sue wants to be closer to his family. by the law of large numbers, those random fluctuations are going to balance out. There is no threat of godzilla attacking esterland, thus causing mass exodus to westerland.

> Again: Source?

if you accept equilibrium, then clearly things can go out of balance in two ways. Demand going up, or demand going down. lsy isn't trying to explain all cases, lsy is explaining the demand going up case.

> Your generalization doesn't work for all cases.

Yes, but all cases is not the issue at hand. The issue at hand is what happens when demand goes up.

You have my sympathies that your neighborhoods are turning into ghost towns. It seems like you have a different problem that's clouding your thinking about the demand going up case, because they're related, but different.

</comment></comment></comment><comment><USER10> I'm not entirely sure I understand the issue with Gentrification, and what is gentrification and what isn't.

I live in a pretty nice neighbourhood of Amsterdam. 15 years ago, when I moved here, my uncle (who is a cop) warned me not to live here because of all the crime (though the neighbourhood where he lives has a worse reputation). The population at the time was a decent mix. Lots of ethnic minorities, but also students and probably middle class families along the edges.

During the past 15 years, loads of new restaurants have opened here, there's a small movie theatre, the dodgy-looking call shops and phone shops have disappeared, the snack bar that changed ownership every year has now turned into a fancy wine bar. Some old buildings have been turn down and replaced, others have been renovated. Generally, this seems to me like a great example of gentrification.

And I'm sure housing prices are rising, and I don't doubt the new and renovated buildings are more expensive than the older ones. But the population doesn't seem to have changed all that much. Maybe there are more affluent white people now, but I still see kids from a variety of ethnic backgrounds play in the streets (though I don't see groups of adolescents and young adults hang around the square where that dodgy snack bar used to be), and there are still plenty of Turkish shops (though some have closed, sometimes to be replaced by a new Turkish shop, sometimes not).

I don't know how many people have been forced out due to the gentrification. They include my brother-in-law, who had lived there for ages until his house was to be renovated. But for the most part, the population doesn't seem to have changed much, and the neighbourhood seems to be more vibrant, more stuff to do, less need to go to the center of the city if you want to go out.

So if this is gentrification, my impression of it is pretty positive, though I don't have any stats to back it up. Of course with those people who hung around on that square, I have no idea who they are or where they are now. It feels safer, but that might be subconscious racism talking.

<comment><USER11> > loads of new restaurants

Who is going to staff those restaurants (and other low-wage services) when the housing prices are so high that it isn't realistically possible to find a rent (forget a mortgage) low enough to be affordable for someone making those low wages?

This is made worse in places like south-bay/SF area where the private busing and 2nd/"weekend" apartments further distort local taxing/etc and drive prices up even further.

> I don't know how many people have been forced out due to the gentrification.

That depends on a lot, but when money is involved, there are lots of creative ways people can be forced out. Zoning laws and other "fees" are common. If renting is involved, buying out the landlord and raising the rates on the tenants (sometimes to unreasonable levels designed to not be paid) is a popular move.

> Generally, this seems to me like a great example of gentrification.

From your description, that sounds like an example of how a town or city _should_ be maintained. There is a difference between rising housing prices from normal inflation and gentrification.

<comment><USER12> The US also has additional "baggage" that comes from it's past racial problems.

I live near DC. Gentrification in the city is almost always wealthy whites displacing poor blacks. There is very much an us-vs-them feeling among those that are being displaced.

One ridiculous effect of the gentrification... Historically black churches in the downtown areas now have congregations that have been displaced and commute from the suburbs to attend services. This causes all sorts of problems with parking that didn't exist when the congregation lived in the neighborhood.

This in turn causes conflict with new residents, who want to add bike lanes. The congregation doesn't like that because it would reduce on-street parking.

<comment><USER13> It seems a modicum of regulatory creativity would result in a marvelous new invention: a bike lane that is open to parking on Sunday mornings. This would inconvenience approximately zero cyclists, since Sunday morning is a time of low traffic.

<comment><USER10> Except for people who ride a bike to church.

<comment><USER13> As observed above, they will face very little traffic, because most commuters are godless heathens who are snug in their beds on Sunday morning. There is nothing wrong with travelling by bicycle in the street in general, but certainly even less wrong with doing so near a church on Sunday morning. Bike lanes with no nearby churches wouldn't have this special rule.

</comment></comment></comment></comment></comment></comment><comment><USER14> I just stumbled on an amusing use of the term gentrification:

 _Average Silicon Valley millionaires are being displaced by gentrifying billionaires_

[http://www.deathandtaxesmag.com/216500/average-silicon- valle...](http://www.deathandtaxesmag.com/216500/average-silicon-valley- millionaires-are-being-displaced-by-gentrifying-billionaires/)

<comment><USER15> I still don't know if this is a prank or real.

</comment></comment><comment><USER16> I hate the word Gentrification. I live in Allentown, PA and we have gotten around 1 billion dollars of investment for our center city. It really has been a BIG change for our city of 120,000 people city.

Problems with the city: White flight happened late (1980s) HIGH transient population. 50% of the school district's child will end the school year at a different school then they started the school year with. Over 90% of the district receives free lunches. So much that 100% of students get a free lunch with a 85% poverty level.

Claims of Gentrification: The population was being moved out of the neighborhood. Did I already state that we have a 50% transient population? How establishing a population that isn't below the poverty line in a city full of beautiful Victorian three story row homes (I love mine) and dozens of mansions moving an established population? Matter of fact the local Occupy Movement camped at our city hall and was protesting. A city with HIGH poverty was a 1% issue????

The conversations were hysterical with Occupy in our city about what they thought was the Gentrification in our city. After having al

<comment><USER17> I was a "transient" in Allentown for 2 years because of work. Allentown has a profound sadness about it that I've seen in other rust-belt cities. Gentrification is very much a positive reaction to the vacuum that was created after years of dis-investment. The city has good bones, housing stock that can be restored to stunning with a little love, and a location and infrastructure that is excellent for business. People are only starting realize this now after moving to the exburbs and finding that they don't like driving 10 - <USER2> miles for virtually all excursions. Hope that Allentown makes it, it never deserved to be abandoned.

<comment><USER16> Things have really turned around. The sky line has been transformed and we have a lot of more businesses in center city and a full entertainment center.

I moved here 8 years ago and I love this city and feel like everything is so close to me.

</comment></comment></comment><comment><USER18> Just wanted to note that that third photo in the article, of the graffiti in Williamsburg, has been replaced by construction for an Apple Store...

</comment><comment><USER19> What a horrible way to determine if people are being forced out... compare the rate against a worse situation.

We noticed that people with HIV died less frequently over the time period than people with HIV and stage IV cancer. Therefore, there is no HIV problem.

I guess they are getting the eyeballs the wished for to read through this flame-bait.

</comment><comment><USER20> The studies the author cites seem to be asking the wrong question.

Rather than asking, "at what rate do poor people leave a neighborhood?", the question should be, "at what rate to poor people come to a neighborhood?".

The former question above simply does not support the conclusion that gentrification does not force poor people out. Sure, the rate at which poor people leave can fall, but if NO poor people are moving into a neighborhood, they are essentially being forced out.

</comment><comment><USER8> Baltimore has endless rows of empty buildings. Over 30,000 last I remember. But except for the homeless, housing is not a problem in Baltimore; houses sell for as low as $10K, $20K, $30K. Nobody is buying them (or at least at a very slow trickle). Yet we still have various activist groups talking about the problem of gentrification.

One interesting thing to note is how racially divided the city is. There are five or six majority white neighborhoods in the city, surrounded by majority black and latino neighborhoods. Those majority white neighborhoods expand a little bit every year - sometimes just becoming more dense, but sometimes the boundaries expand. When that happens it creates a sort of new market - <USER3> stores with higher prices, homes converted to apartments with higher than average rent.

At the same time, it also pushes out traditional "black culture" businesses - babershops and hair/nail salons, liquor stores, takeout food, dingy bars. These businesses are the social gathering places for black people in the city, and when they disappear, so does the presence of black people in daily life. There are other issues that come up too, like strained tensions over an increase in (arguably hostile) police activity around majority-white populations. Even as new businesses come into the neighborhood, you don't see an increase in jobs for people who already lived there.

It's easy to see how the people moving in are not there to help the impoverished existing residents. And it is true that rents do gradually increase. But at the same time, crime does reduce, and more money is invested in the local community.

I haven't seen anyone pushed out of their home due to rising rents around Baltimore, mainly because we have so many god damn empty homes. But could it happen in a crowded neighborhood? If they are renting, abso-fucking-lutely; rents have been raising in neighborhoods around here for years, with one landlord turning the building over to another and raising the price.

The question isn't whether this happens, but what happens to the people once they have to move out. Where do they go? Do they have to start at a new school, find a new job? Are they now far away from their families, some of whom they might be supporting, like the elderly or people who need stay at home child care? And can they even afford to move, if their home was multi- generational and they don't have the funds to buy a new one? These are the questions the article doesn't address.

</comment><comment><USER21> Deplorable clickbait journalism here. This piece over simplifies issues, uses a misleading sensational headline and then flat out gets the issue wrong because the author has no real understanding of the issue he is attaching. Gentrification is is no myth. Residential displacement does occur when existing apartment buildings are torn down to clear sites for new development and rising rents in housing stock that remains prices out local residents. Longtime residents who live on fixed incomes can be forced out of their homes due to rapidly rising property values and taxes. The author fails to explain the primary reason why the Columbia studies authors found reduced displacement in some areas. RENT CONTROL. What the data demonstrates is not that gentrification is a myth but that reasonable government actions can mitigate the worst negative impacts of new development. But then how many shares and clicks would that headline generate.

</comment><comment><USER22> I love how the article lumps techies in with lawyers and bankers.

<comment><USER23> Quite we are the ones with our noses pressed against the window pane :-)

In London take a walk in the inns of fields (compare it to old street) and you will see the massive gap between lawyers and techies.</comment></comment>


Ask HN: Budget $500/mo and 10 hrs/wk. is FT in yr possible? - <AUTHOR> If I have  budget of $500/mo + 10 hrs/wk is full time possible in a year? Need to make about 4-5k/mo to cover personal expenses. Obviously, it depends on the project/idea. But has anyone accomplished a similar goal? <comment><USER2> "$500/mo + 10 hrs/wk" this operation is impossible, both operands do not have the same unit.

</comment><comment> what-no-tests Can you explain this more clearly? The way you have phrased the question is difficult to parse.

</comment><comment><AUTHOR> If I have a budget of $500/mo and I only have 10 hrs available each week to work on my project, has someone with similar constraints be able to reach full time on their business in a year?</comment>