Titan: A Highly Scalable, Distributed Graph Database - <AUTHOR> http://thinkaurelius.github.com/titan/ <comment><USER2> What makes this graph database "highly scalable, distributed"?

There are difficult theoretical computer science problems that effectively limit the parallelization/distribution of generalized graph operators. To achieve high scalability you have to solve these computer science problems first. If this design offers a novel solution to the longstanding computer science problem then kudos, but nothing at the site suggests this is the case.

Many graph databases have claimed high scalability and distributability but none of those claims have held up over time due to the aforementioned computer science problems. This may be a very nice graph database but I am skeptical of the claims of "highly scalable, distributed" unless there is evidence that it uses fundamentally new theoretical computer science to achieve that.

<comment><USER3> You mean CAP theorem? <http://en.wikipedia.org/wiki/CAP_theorem> I imagine it is either the A or the P that gets to be the victim, but I'm not sure which in this case.

<comment><USER2> No, I am referring to the set of problems related to graph partitioning.

This is essentially the same underlying problem that is the source of why distributed NoSQL databases do not support join operations. In the case of NoSQL databases, they simply do not support joins because it is not a core operations. (Technically you can still do a join, it just has terrible scaling characteristics.)

The fundamental operation of graph databases are relational joins by another name, which means that graph databases have the same limitation on distribution that distributed NoSQL databases have on joins. However, unlike NoSQL databases it is their primary operation so they can't just not support it. Consequently, the only way to have a "graph database" that is massively distributable is to solve the same problem that prevents distributed databases from supporting joins.

<comment><USER4> I've been working on the graph partitioning issues for distirbuted graphdbs for a while (my own pet project that my brain won't let me give up on) but it's been from the perspective of someone who's not been keeping up to date with the Comp Sci literature. Have you got any suggestions for canonical papers from the last decade or so, for the state of the art?

<comment><USER2> There has not been much that is both new and interesting in the graph partitioning literature in a long time. What you already know is probably not too far off from what is in the current literature. The literature on this topic has been stagnant for years.

Solutions to the graph partitioning problem exist and among people doing high- end graph analytics this has been rumored for years now. It just is not published and people that know how it is done are slathered in NDAs. I know of two different (related) algorithms for parallelizing graph analysis. IBM Research currently has the most advanced algorithms for graph analysis and they disclose very little about how they work.

</comment></comment></comment></comment></comment><comment><USER5> We are going to address alot of these questions in our presentation tonight. However, for the Hacker News crew that won't be there tonight, here is an early release of the Titan talk.

[https://speakerdeck.com/u/okram/p/titan-the-rise-of-big- grap...](https://speakerdeck.com/u/okram/p/titan-the-rise-of-big-graph-data)

<http://titanbiggraphdata.eventbrite.com/>

Enjoy!, Marko.

<comment><USER6> Great presentation.

<comment><USER7> Also it appears like a great way to take speakerdeck down...

</comment></comment></comment><comment><USER8> Very interesting. Since it implements Blueprints, does it also have support for Furnace (graph algorithms)? If so, does this imply that graph processing is done on disk rather than in-memory? I am rather unfamiliar with Blueprints but I'm wondering how Titan implements that aspect.

</comment><comment><USER9> I don't want to spam this thread, but I feel I have to plug my personal pet project Related (<https://github.com/sutajio/related>), since it is, well.. yeah... "related" to the topic being discussed.

It can't do half of what Titan does and is a much, much simpler design. But it is fast, easy to use and works really well for 80% of the use cases you might have for a graph database on the web (social graphs, semantic web stuff, etc.)

</comment><comment><USER10> Interesting, does anyone know how this compares with the popular Neo4j Database?

<comment><USER11> Each Neo4j node stores all of the data, and it doesn't scale write horizontally well.

OrientDB tries to scale writes (I'll be testing this in a few months), but still stores all of the data everywhere.

This looks like it shards the data automagically. If it works well, I might be able to bang on it a bit, but I'm guessing that it gives shit performance for complex graph questions.

<comment><USER5> Titan exposes graph data over a machine cluster. It is an OLTP system that allows you to do local neighborhood graph traversals in sub-second time. For OLAP processing (e.g. global graph algorithms), Aurelius will be releasing two projects named Faunus and Fulgora in the coming months. These provide Hadoop connectivity and compressed in-memory representations of "graph slices." We will be publishing our talk slides tonight that discuss this eco-system of graph technologies. See <http://titanbiggraphdata.eventbrite.com/>

<comment><USER11> I really wish that I could attend. We ask a lot of questions like:

Find all Nodes with a property in a tree

Find all leaves L of those nodes

Find all annotations in a DAG of those leaves

Collapse similar DAG entries by backtracking up the graph based on edge weights

Writes are bulk loaded, and right now, we are just trying to push all of the graph stuff offline, but there are some limitations to that, and we could really up our accuracy by being able to perform these queries quickly.

</comment></comment></comment></comment><comment><USER12> Also,

What is interesting about a graph database relative to simple key-value database? Storing edges of a graph is trivial for a key-value store and so it seems like any key-value store could let store the basic graph structure?

Do graph databases support graphic-specific queries and indices?

<comment><USER13> I can only answer for one advantage I specifically know of regarding graph DB's over key value: dynamic, mergeable schemas which enforce data integrity WITHIN the database rather than with code on top of it.

There are many, many people on HN who are much more knowledgeable than I am on graph DB's, and I sure as hell hope they answer on this question.

I'm curious if this supports the RDF, OWL, and SPARQL standards?

I'm a little tired of graph DB's that focus on scale, rather than speed and flexibility though. A good one to check out is Stardog. <http://stardog.com/> I think it just went into 1.0.

<comment><USER14> It looks like it's Gremlin only.

What triple stores have you looked at? 4store is performant, but doesn't support reasoning. There's also BigData and Virtuoso which support various levels of it, and Franz are apparently working on a clustered version of Allegrograph.

</comment></comment></comment><comment><USER15> Where's the SPARQL support?

<comment><USER5> Titan currently does not have "edge indexing" and thus can not implement Blueprints' GraphSail interface [[https://github.com/tinkerpop/blueprints/wiki/Sail- Ouplementa...](https://github.com/tinkerpop/blueprints/wiki/Sail- Ouplementation)]. If it did implement GraphSail, then SPARQL would be supported via the Sail SPARQL engine.

</comment></comment><comment><USER16> "Vertex-centric indices provide vertex-level querying to alleviate issues with the infamous super node problem"

Does that mean, for each vertex, is it's sub-graph indexed?!

</comment><comment><USER17> Anyone tried to use this with Spring?

<comment><USER17> Why the downvote? Spring Data Neo4j [1] works excellent, it's pretty popular and I'm interested has anyone tried working with TITAN in a Spring project(probably using the Blueprints API).

[1] <http://www.springsource.org/spring-data/neo4j></comment></comment>


Why America Is Losing the Toilet Race - <AUTHOR> https://www.npr.org/sections/money/2020/02/25/808791622/why-america-is-losing-the-toilet-race <comment><USER2> This shows how bad is Toto (and other companies in the market in Japan) at exporting their products even though they are remarkably better across the board. Even if they don't make it in every home overseas you could imagine they at least tap in a kind of premium market, but no, they are close to doing nothing and don't have partnerships in most countries. Truly incompetent.

<comment><USER3> > even though they are remarkably better across the board

I think you're pinning on incompetence a lot that has more to do with cultural mores. This doesn't seem remarkably better across the board to me. It seems neat to the technologist in me, but it also feels extraordinarily fussy, an accommodation for the weak or incapable.

I recognise we should probably move to bidets, but I wouldn't look forward to the sidelong "is he a bit weird?" glances from guests. Warmed seats is a bit like fuzzy earmuffs: probably an improvement but something I feel like I shouldn't need. In some sense, I think trying to improve a toilet at all feels weirdly epicurean.

I find this vaguely embarrassing to write, I'm not a particularly macho person and I don't like to acknowledge that sense of masculinity circumscribing my actions. But I think it would take a hell of a marketer to get me past that, especially at a steep price point, nevermind people who are openly manly.

<comment><USER4> They should introduce refrigerated toilet seats for macho men, that clean your bottom with a vigorous squirt of icy water, then dry it with a refreshing blast of cold air.

<comment><USER5> I'd buy that!

<comment><USER4> How about a bidet with a retractable nozzle that sprays mouthwash to freshen your breath after you puke?

</comment></comment></comment></comment></comment><comment><USER6> I think a big obstacle to adoption here is that most US bathrooms don't have an electric outlet in the right place for a Washlet. Now the already expensive toilet needs electrical work too, which may not even be possible if you're a renter.

If I ever own a place I'm definitely getting one though.

<comment><USER7> I rent an apartment, and I just ran a 25 foot white-colored extension cord around my bathroom wall along the top of the floorboard molding, with the cord tacked in place with coax cable clips. It then plugs into my GDFI outlet on the other side of the restroom. It looks tidy enough, and it gets the job done!

It has a heated water tank, heated seat (although I never use it), a blow dryer, and a night light.

I haven't needed to use a single square of toilet paper ever since I got my bidet. No regrets!

<comment><USER8> > heated seat (although I never use it)

Really? After living for some years in Japan, I feel almost traumatized when I go to Europe in winter and I have to sit in a cold toilet.

</comment></comment></comment><comment><USER9> I've spent significant time in Japan and everytime I return back to US, I never go "Gee...I wish we had one of them Japanese toilets". It's fine. Not great, but it does the job. Although I think bidets are great, we should get that going in the USA.

<comment><USER10> To counter your anecdote with my own, Japan is a common holiday destination for my circle of friends, and every single time anyone comes back, they either: go "Gee...I wish we had one of them Japanese toilet seats", or actually buy one, or they already have one and say nothing.

</comment></comment><comment><USER11> My brother has one of these in his new condo. let's just say this toilet paper binge that we're on in the US isn't really impacting his life at all right now.

<comment><USER12> [https://doineedtoiletpaper.com/](https://doineedtoiletpaper.com/)

<comment><USER11> I LOL'd. I was really wondering what was behind this link.

</comment></comment></comment><comment><USER13> Do those toilets come with an UPS in case there is a power loss?

Also since they might have a microcontroller or CPU running some software, I hope they aren't connected to the Internet since that might expose the user to DOS attacks.

</comment><comment><USER14> A Dave Barry column from 22 years ago[1], describing how 3.5-gallon-per-flush toilets were banned in the US, makes me wonder if some kind of import restriction or regulation about what can be installed in certain places applies. Though there are people in this thread saying they've got one in the US, so that's a point against that theory.

[1] [https://www.baltimoresun.com/news/bs- xpm-1998-11-01-19983051...](https://www.baltimoresun.com/news/bs- xpm-1998-11-01-1998305189-story.html)

</comment><comment><USER15> Cleaning after defecation really requires the skillful application of wet paper towel, then dry paper towel, followed by a shower with a removable shower head set to the laser setting, with soap and disposable rag.

Having spent time in Japan, I found that a Toto washlet is inferior to the shower method. However, washlets are clearly better than only dry paper towel.

My process for American public restrooms involves wetting paper towels, preferably after defecating to maintain absorption of water in the clumped paper towels. It's odd to me that bathroom stalls don't offer the facility to wet paper towels. It must be obvious to all that dry paper towel (without soap nor water) cannot possibly clean fecal matter sufficiently, yet this seems to be the cultural norm.

Perhaps someone will invent a kind of washlet that works better than the current offering. I personally don't need heating and gizmos, just a high quality and reliable cleaning on par with the shower method.

<comment><USER16> Okay imagine this. You finish taking a shit. And then there's a hole in the wall that you stick your ass in. Then your ass sealing the hole creates a vaccum where it can then flood the hole by violently shooting warm soapy water at your ass. It does this for 3 cycles with new recycled soapy water each time. Then it switches to the dryer mode and completely dries your behind.

<comment><USER17> Engineering details, what's the seal pressure reachable before rectal prolapse?

Yup.

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

<comment><USER16> That reminds me. This would never work since everyone has different sized asses.

</comment></comment></comment></comment><comment><USER18> I frickin' love the Toto Washlet, but a toilet with only the flushing feature is less likely to break and easier to fix when it does so there's something to be said for its economy of design and lack of scope creep. I believe Toto sells the Washlet as a seat for an ordinary toilet, so that helps.

</comment><comment><USER17> Focus seems to be in waste removal instead of data collection.

Would large scale stool analysis benefits outweigh the costs of its implementation?

Maybe there can be another 'Ignaz Semmelweis' before another 'Broad Street cholera outbreak' type event.

</comment><comment><USER19> First thing I'm getting when I can afford to replace a toilet.

<comment><USER20> There are very simple attachments on Amazon for less than $40 (maybe not currently, but mine was very cheap)

</comment></comment><comment><USER21> I bought the Luxe Bidet Neo 180 on Amazon for $41 in 2017.

Easy to install and no electricity needed. They are out of stock now, but if you can get one, they are amazing.

</comment><comment><USER22> How well do these electric Japanese toilets work when there is no electric power? As in a hurricane or earthquake?

<comment><USER10> I would suggest, in such a scenario where electric power is absent, that the toilet seat would work much like a non-electric toilet seat.

</comment></comment><comment><USER23> I ordered and installed one of these Totos last year myself (US). Love it.

</comment><comment><USER24> Comparing the innovations of the toilet to the rise of the iPhone.

Well perhaps if the innovative electronic toilet was so good it would have, as the author says "diffused" into other countries.

</comment><comment><USER25> Good grief. Using expensively treated water to flush waste away is crude Victorian technology as it is - adding fusspot electronic detailing hardly improves it.

Composting toilets at urban scale - now that would be tech worthy of the 21st century.

<comment><USER26> Bidets use less water than it takes to make the toilet paper Americans use to excess.

<comment><USER25> True, everything is an improvement on the current English-derived norm. Grey water systems would help, but are expensive, particularly to retrofit.

</comment></comment></comment><comment><USER27> This has been posted several times.

$17,300 toilets are great, much better than $80 toilets.

Author should install a $17,300 toilet in his home using money he actually earned himself and THEN write about how he feels that was the right decision.

<comment><USER28> Hold on a second. This is only for one particular model. The article says that high-tech toilets are present in hotels, restaurants, bus stations, rest stops and around 80% of homes in Japan. Japan is a poorer country than the United States. If Japan can afford this technology, there is no reason the US can't, from a strict affordability standpoint.

<comment><USER29> Poorer by what metric? I wouldn't agree that life in Japan vs USA is so dissimilar that you can definitively say Japanese people/shop owners are poorer. For example, both countries rank highly on the Human Development Index [1]. In fact, Japan is #3 by inequality-adjusted HDI, whereas USA is #28.

(agree that the user you're responding to is being disingenuous about the price of Japanese toilets btw. The other differences is that public restrooms in Japan are often shared among several nearby shops--like at a train station --meaning a Toto is always within reach even if there's not one in every shop.)

[1] [https://en.wikipedia.org/wiki/List_of_countries_by_Human_Dev...](https://en.wikipedia.org/wiki/List_of_countries_by_Human_Development_Index) [2] [https://en.wikipedia.org/wiki/List_of_countries_by_inequalit...](https://en.wikipedia.org/wiki/List_of_countries_by_inequality- adjusted_HDI)</comment></comment></comment>


Want to Know Why the Bay Area Has a Housing Crisis? Read This Map - <AUTHOR> https://medium.com/@Scott_Wiener/want-to-know-why-the-bay-area-has-a-housing-crisis-read-this-map-b4d7a56d12f1 <comment><USER2> Wouldn't the responsible thing be to limit the creation of new businesses where there is insufficient housing? If there is a scarce resource like water or parking, you do things to reduce dependence on it don't you?

In other words, if someone wanted to put in a new restaurant and there was no parking available, you make them wait until there was parking available or require them to supply there own parking.</comment>


Ask HN: Your take on MS not allowing x20 Lumias to receive W10M updates? - <AUTHOR> I was genuinely stunned when I heard my Nokia (Lumia) 1020 wouldn't [1] be updated from WP8 to W10M.
If you missed the news, Microsoft has on multiple occasions promised [2] (and marketed [3] their devices with it) that WP8 devices would get upgraded to W10M in the future.
Now, I'm interested in two things. First, what does it make you think about MS (if anything at all) and second, what reason (other than "planned obsolescence) is there for this? Surely it's not lack of performance when devices such as 925, 920 and 1020 were excluded, while something like Lumia 430 gets it right away. What could be the technical reason?
[1] http://windows.microsoft.com/en-us/windows/preview-supported-phones [2]https://twitter.com/lumia/status/532128314467823616 [3]http://i.imgur.com/gRIJkWt.jpg <comment><USER2> Some models ( 520 , 620) didn't qualify for upgrade to W10 because their smaller memory (520 mb) , clearly it's not the case of Lumia 1020. I can speculate that they don't wrote yet some firmware or software module needed to address the particular capabilities of 1020's camera , just guessing...</comment>


Facebook, Reddit, Google, Twitter, YouTube joint statement on misinformation - <AUTHOR> https://techcrunch.com/2020/03/16/facebook-reddit-google-linkedin-microsoft-twitter-and-youtube-issue-joint-statement-on-misinformation/ <comment><USER2> Anybody else noticed how bad Google search is at search nowadays? YouTube search too. Both of these search engines used to be incredible at turning up results when provided with even the most obscure search terms, but now all of the top results are from main stream media news sites. In their quest to control the spread of misinformation they have neutered their core product. I miss the good old days :(

<comment><USER3> Yeah, you're not the first to notice that. It is very apparent when you search on YouTube for a politicians name and especially if that politician has been involved in a scandal. For American politicians, American mainstream media outlets such as Washington Post, CBS, ABC, Fox News and CNN dominate the search results on the first few pages. Same thing with other countries politicians so for British politicians you get videos from BBC, The Telegraph, The Guardian and so on. This happens even as those videos are not the most watched, most highly rated or most recent.

Independent media outlets that live on YouTube's advertising revenue are completely furious about it but powerless to do anything about it.

I don't think it makes the public better informed either. The most powerful propaganda tool is not misinformation but misdirection. Positive news gets boosted and negative news gets suppressed. Essentially that is happening when YouTube boosts mainstream media. One actors view is boosted and all dissenting views are suppressed.

<comment><USER4> This is what happens when Google forces Amp and other similar metrics in their rankings. Only companies with a sizable IT department can keep up.

<comment><USER3> What is Amp? My feeling is that YouTube has special rules which favor these tv networks. I'm noticing the same trend in YouTube results for my own country's political news, albeit on a smaller scale. The major broadcasters videos seems boosted somehow.

</comment></comment></comment></comment><comment><USER5> Last I checked Twitter had suspended an account who was providing relevant information out of China when the virus was still mostly affecting only them, I think that was around February 20th or so. Yeah, that account was also publishing videos that some might have thought as too bleak (i.e. videos of very desperate people), but that was the actual situation on the ground in Hubei province. Had we listened to videos like those earlier we wouldn't have been in this situation.

</comment><comment><USER6> Techcrunch redirects me to guce.advertising.com, is there an alternative link?

Edit: Oh apparently it's just this paragraph (found it on about.fb.com):

 _> "We are working closely together on COVID-19 response efforts. We're helping millions of people stay connected while also jointly combating fraud and misinformation about the virus, elevating authoritative content on our platforms, and sharing critical updates in coordination with government healthcare agencies around the world. We invite other companies to join us as we work to keep our communities healthy and safe."_

<comment><USER7> I had to whitelist guce.advertising.com. Couldn't find any way around it.

<comment><USER8> The way I approached this was to avoid anything that has to do with techcrunch. I am more than happy to read the comments on such postings but no way in hell am I clicking on that intentional dumpster fire of trackers, advertisement, convoluted consent forms, etc. I can't help but treat that site as malicious. The fact that such links/sites still end up top of the front page on a site like HN is a bit surprising for me.

</comment></comment></comment><comment><USER9> Not sure why I should be trusting Big Tech companies to tell me what is "misinformation." Did I miss the event where they proved themselves worthy of being such gatekeepers?

</comment><comment><USER10> So glad the government and corporations are working together to ensure I may not have an unapproved thought.

<comment><USER11> Also all these nice voluntary helpers that like boots too.

I mean there are just so many reasons to do that because people are so bad.

</comment></comment><comment><USER12> Censorship is the path that leads to tyranny. Better to have all sides without being muzzled. Today's truth can be tomorrow's fake news and vice versa.

Either they are publishers or platforms.

They can always put disclaimers by every "news."

<comment><USER13> The issue is that these companies are now providing a platform for the "village idiot", and it's up to people to differentiate truth from falsehoods, which is surprisingly difficult to do on a topic you don't know anyything about.

<comment><USER3> Are you old enough to remember the lead up to the 2003 Iraq war? The village idiots are maybe not who you think they are.

</comment></comment></comment><comment><USER14> I don't think the proliferation of fake news is due to the lack of gatekeeping. I think the issue is the ease of authoring fake content.

Publishing a piece of news/article used to mean hosting a website, registering a domain, writing html, running a web server. All require studying, the very action to battle disinformation.

Now all we have to do is make an account (or even not) and start typing on keyboard.

Opinion is like a-hole, everyone got one. But not every piece of opinion as useful as an a-hole. Lowering the bar of publishing is normalising the weighting of each opinion. Which I think is the root cause of today's internet

<comment><USER15> You'd be surprised how many fake news artist and disinformation agents have pleasantly designed websites. The problem isn't so much that anyone can post something on Reddit, and people believe it as fact. It is that they read it on Reddit, then their browser history curates their recommended videos on YouTube to validate what they read using real people who make money off these ideas, then they send money to their Patreon to get the exclusive information which includes access to a nice looking website.

Here are some examples:

[https://lightonconspiracies.com/](https://lightonconspiracies.com/) [https://charlesortel.com/](https://charlesortel.com/) [https://truepundit.com/category/featured/](https://truepundit.com/category/featured/) [https://crowdsourcethetruth.org/](https://crowdsourcethetruth.org/)

Those are just a few of hundreds, if not thousands.

</comment></comment><comment><USER16> Hi there, the "Ministry of Truth"!

</comment><comment><USER17> The "internet companies" are trying to tackle something that is beyond their control and from the looks of it is close to impossible to contain misinformation and disinformation. So it results them to have a deep integration into our lives and the way the internet works in general. (Google and Facebook can _never_ be taken down, even when they still have content seen as 'offensive', 'misleading' or just completely false by some).

"Don't believe _everything_ you see or hear on the internet" \- _The Internet_

<comment><USER11> But their attempts to promote authoritative sources like news media that also happens to be in a direct business relationship with them is swallowed up like a blessing. Completely delusional. Maybe not true for reddit, I think they do it for random reasons.

This is the actual consequences of stripping down education on every front.

</comment></comment><comment><USER18> Ironic, considering that "misinfo" was the name of the game when WHO was in charge of downplaying this, and anyone following mainstream media got caught completely flat footed when the dam broke, while I am well stocked up on supplies I purchased in late January.

I know there's a lot of disinfo and rumors out there. But I don't want them shutting it all down. Put a warning over it if you must. But without some of these sources I would not have learned about the severity of the virus in time to prepare.

</comment><comment><USER19> Specific only to COVID-19.

I don't see social media companies making any dent on misinformation. Here are a variety of examples.

* Troll farms that deliberately seek to manipulate gullible people for unrelated motivations.

* Fanatics, which are the same as troll farms except their motives are aligned to what they claim.

* Cults which are also just like troll farms except their motives are centered around the desires of a central person or idol.

* Liars. People who deliberately mislead others for personal reasons nor affiliated with an organization.

* Stupid people are like liars except their deceit is not deliberate and they have primarily fooled themselves and want to share their foolishness, such as people who put their heads in the sand and twist themselves into knots to ignore evidence when pushing opinions onto people.

* Gullible people are those who spread any information they believe to be true where truth is only based on popularity, conformity, or social expediency.

I want to see how social media eliminates that.

</comment><comment><USER20> So what counts as misinformation? There is a lot of uninformed statements about SARS-CoV-2 everywhere, including goverments like mine that says that you are "safe" if you just stay 1-2m away from infected persons.

If you ask me, constantly calling this SARS strain Corona, Covid-19 etc. can count as misinformation as well.

</comment><comment><USER21> They will still accept money to show ads for vitamins and other useless "supplements" I'm sure fake news will remain okay if you pay them to spread it.

</comment><comment><USER22> I've been moderating a handful of communities over on Reddit for about ten years now, among them several are focused on hearing health. Something I see as a matter of routine is the roughly 21 day arc of folks learning that some aliment exists to speaking intentionally as if they are an educated medical professional, while essentially medical rumour and legend mongering.

I don't think this is limited to those with issues of hearing health and I suspect that, while it's more common in circles where doctors often give unspecific bad news with no real resolution (something that many folks don't want to hear), it's not limited to them either.

Right now on Reddit there are scores of subreddits focused on COVID-19 and the Coronavirus, with really terrible moderation. If the admins were actually serious about dealing with missinfo they'd be shutting more than a few down.

<comment><USER23> The problem is that if we look back with hindsight, knowing what we know now, then back in (for example) early february there's a lot of material in the "Reddit rumors" that turned out to be accurate and the official position of certain major governments and even WHO was misleading, possibly intentionally.

Yes, it's important to reduce misinformation, but it's also important (and IMHO even more important) to allow challenging the official information. The issue of "truth vs misinformation" is orthogonal to whether the information is approved by some particular source. So what I'm worried about is when the official position of some nationstate conflicts with the truth, then they'll be able to label the truth "misinformation" and get it removed/suppressed because of that, and that is something we definitely want to avoid. Sure, politicians can call anything they dislike as misinformation or fake news, but it's imperative that they don't get the ability to remove/suppress that information just because of that.

Rumors spread in the absence of trustworthy, extensive, reliable information. If in some situation there's no trustworthy, extensive, reliable information provided (for example, about the early situation in Iran) and rumors is all we can get, then rumors don't need to be suppressed as they are the best source of truth available even if it's not perfect.

<comment><USER24> Not just the WHO and major governments. Remember the whole wave of "worry about the flu, not the coronavirus" articles, some of which outright said that people were irrational for worrying about it? The press haven't got better since either, they've just changed the narrative they're misleading people towards.

<comment><USER25> The press that has got ,,better'' just is doing the minimum necessary to publish anything believable by a non-informed person. At this point anybody can look at Italy and see that COVID is clearly not better than the flu.

</comment></comment></comment></comment><comment><USER26> Sadly, this does not appear to apply to popular politicians who can't seem to grasp what their advisors are telling them.

</comment><comment><USER27> Reddit r/coronavirusuk pretty much taken over by left wing extremists turning it into a political football match with barely a rational thing there.

Currently full of anti government propaganda, much of it unrelated to the virus.

</comment><comment><USER28> data: [https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.h...](https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6)

</comment><comment><USER29> I had high hopes from this title. Unfortunately, it only involves misinformation in regards to COVID-19.

I would really hope they would unite in a joint effort against the spread of propaganda from fake accounts instead.

As I mentioned elsewhere in the thread, take a look at Bot Sentinel top 100 trollbots [1].

#1 @BrandonBeckham_ is (from my judgment) a fake twitter account [2]. He poses as a veteran Christian that loves everything Trump. All he posts is pro-Trump stuff & Donald J. Trump retweets him frequently.

This is the stuff that needs moderation for misinformation. This is _dangerous_ - it affects people's minds and changes their minds. But somehow this stuff is just ignored by Big Tech.

[1]: [https://botsentinel.com/top-100](https://botsentinel.com/top-100)

[2]: [https://twitter.com/brandonbeckham_](https://twitter.com/brandonbeckham_)

</comment><comment><USER30> From this pandemic I learned that the current internet is far too controlled for information. I got most of my (by now confirmed) information from early leaks. Of course there are ridiculous hoaxes and bad advice floating around, but it pales in comparison to the erroneous information that authorities are putting out, and it is way easier to distinguish as BS.

For instance, I have read from official sources:

Vitamin C does not help. Garlic (powerful anti-inflammatory and antiviral) will not help. Black and green tea will not help. Chance of infection outside of China is negligible. Human-to-human transmission is unlikely. Coronaviruses don't survive on plastics and metal surfaces. Taking anti-inflammatory drugs is not dangerous. Face masks are not protective against the virus. Gargling and swallowing hot iodized salt water does nothing. The virus is not mutating and not creating more deadly strains. The virus can't be made by humans. The official statistics are real and not a gross undercount. Cities will not go in lockdown or quarantine. Longer than expected incubation periods are not impossible. Sauna's and hot showers don't help. Everything is under control and contained. The flu is more deadly. You should not avoid public transit or large gatherings. We have enough ventilators. We have enough protective equipment for medics. You should not be worried about COVID-19 if you got flu- like symptoms before the first confirmed case on 19 January. The CDC is and was not lying about the number of cases, and warnings circulating online reporting community spread are hoaxes. The virus can not pass the brain-blood barrier. The virus does not increase chance of triggering latent schizophrenia and psychosis. Some national from a different country did not die outside of China before the WHO called a world health emergency. This is not yet a pandemic. Fantasies about coronavirus are more contagious than the disease itself. Not eating in Chinatown restaurants is racist. When hand sanitizer ran out, it's not a good idea to make your own hand sanitizer. Countries in Europe won't follow Italy. The virus started in a wet market in Wuhan. You can't blame China for the pandemic, they did a great job and set an example for outbreak response. Papers discussing HIV inserts and gain-of-function infectiousness are retracted because they are completely false, not for fueling conspiracy theories. This virus is not a viable bioweapon, because the mortality rate is too low. The pope will not have coronavirus. Trump will not have coronavirus. Bolsonaro will not have coronavirus. The stock market is looking good right now. There is no reason for panic. This virus is not expected to calm down around June, only to pick up again in November. The government thinks that shaking hands is ok. Experts are right. Experts give correct projections. It is better to listen to public health officials and experts if you want to stay up to date and predict what will happen. There are no terrible long-term concerns of contracting COVID-19 for young people.

I can provide sources upon request if you believe any of these statements.

An educated citizenry is a vital requisite for our survival as a free people! Stop managing panic and come clean: You all lost control of a SARS-like virus and containment is impossible.

Instead of quarantining subreddits, you may want to take a look at the immense sockpuppetry from China nr. 1 accounts and the trade war driven anti-China propaganda from U.S. intelligence. Even on HackerNews I get multiple downvotes on posts that are long on page 5. There is a gross information warfare going on, but hey, got to protect against my Facebook aunt trying to give (scientifically unproven) well-intentioned advice, in the absence of any certainty.

Google prioritizes information such as "How to protect yourself against novel coronavirus? Cough in your elbows!". They are arrogantly acting like the public can't handle the truth.

</comment><comment><USER31> What will they do concretely? They already missed a window of 2 months ago where they could have had an impact by censuring WHO, European governments and news agency that were spreading fake news in the like of "it's just a flu", "2% mortality".

<comment><USER32> It's in the statement. Elevate official and authoritative information over fake news and lies.

<comment><USER5> "Official and authoritative information" in Germany is that only 17 people have died out of the 7500+ officially infected with the virus, with "official information" like that it's not hard for "unofficial information" to be closer to the truth on the ground.

<comment><USER8> Are you using intuition to say that the numbers can't be right or some knowledge of real numbers?

So how many did die of Coronavirus in reality? If someone is already suffering from life threatening complications would this still count as a Covid death?

<comment><USER5> > If someone is already suffering from life threatening complications would > this still count as a Covid death?

The Western official media was strongly denouncing the Chinese authorities when they were doing similar things a month or so ago in Hubei. Following that same logic I guess cancer is not the number one killer in the world, it's either the respiratory failure caused by that cancer or the related infections. But this is just Western hubris in play, as in "our numbers can never be wrong, reality be damned", and I say that as a guy from the Western "side".

<comment><USER8> > Following that same logic I guess cancer is not the number one killer in the > world, it's either the respiratory failure caused by that cancer or the > related infections

But you are not following the same logic. Mine was an honest question while you seem to pick a particular (mis)interpretation.

Complications of a particular illness are part of that illness. I'm talking about adding Coronavirus complications to already life threatening ones from _other_ diseases. HIV/AIDS are considered the killers even if it's unrelated infections that cause the actual death.

Case in point, I was in the hospital when 2 patients with less that 1% chance of surviving (cancer, no immune system) contracted an antibiotic resistant bacteria. They both subsequently died and this was attributed to the cancer not the bacteria because it was pretty much a forgone conclusion that they would have died within days regardless.

So if someone with no immune system dies of Covid-19 can you reasonably say Coronavirus killed them? Or would any minor complication have done the same? If you have a heart attack while driving but it's the crash that actually kills you the cause of death is considered the heart attack.

<comment><USER5> > So if someone with no immune system dies of Covid-19 can you reasonably say > Coronavirus killed them?

Yes, especially if those persons were walking freely and minding about their own lives just a week or two before, as is the case with the majority of the people that have died in Italy because of covid. I highly suspect that only a small fraction of those that died were days or weeks away from dying of other causes. To put things into perspective, from somewhere that I just read now reguarding the situation in Bergamo:

> In Bergamo, normally, about 3/4 people die every day.

> Only yesterday 50 died. 50 deaths in a single day, in a city where 3 usually > die.

Bergamo is one of the best developed cities in Northern Italy and as such one of the best developed in Western Europe, I fail to see how the Germans are very different.

<comment><USER8> > Yes, especially if those persons were walking freely and minding about their > own lives just a week or two before,

Then as I said, we're not talking about the same people. I'm strictly wondering how do the patients already on the death bed count. Not about more or less healthy people who are struck down by Covid-19. There are plenty of terminally ill patients in hospitals and they have a good chance of being exposed to this (there are hospitals in Italy where 70% of the personnel tested came out positive).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER33> This is a great move but I hope everyone is ready to hear a lot of "those west coast liberals are suppressing our freedom of speech!" for the foreseeable future.

<comment><USER11> More about how west coast liberals need a carefully crafted stream of information. People don't like it because it seems infantile.</comment></comment>


Campus Researchers Try New Ways to Close a Gap in Mental-Health Care - <AUTHOR> http://www.wsj.com/articles/campus-researchers-try-new-ways-to-close-a-gap-in-mental-health-care-1452535197 <comment><USER2> Ah yes, mental health care. It's fucking terrifying being brought into an acute mental health unit. I leave out the word "care" because there is none. I can only speak for Australians, but if a fellow country man ever finds themselves in a situation where they _might_ be sent to Cumberland campus (Westmead), lie, run or do whatever you can to get the hell out of there.

I was sent there after an episode and it was the most degrading, dehumanizing thing that has ever happened to me. And they had to let me out the very next day as I was perfectly fine. I _should_ have been home in a warm bed near my loved ones, instead I froze all night away from those who care about me.

And just so we are crystal clear about how goddamn awful these places are: I take regular medication, which if I don't take I can get severe withdrawal symptoms. They "forgot" to chart it (I don't accept that for a moment), and when I asked what was going on the staff member told me I was being obnoxious.

I put a complaint to the HCCC, the hospital apologised but they haven't fixed shit. Do NOT go into the NSW mental health system if you value your dignity.</comment>


ProTip: alias tpoy=typo - <AUTHOR> http://christian-fei.com/protip-alias-tpoy-typo/

<comment><USER2> I've had gerp and grpe aliased to grep for a long time.. works well

<comment><AUTHOR> added to the list

</comment></comment><comment><USER3> my favorite:

alias amke=make

<comment><AUTHOR> ha, nice will add this to the lsit of tpyos</comment></comment>


Rethinking Rails 3 Controllers and Routes - PeepCode Blog - <AUTHOR> http://blog.peepcode.com/tutorials/2010/rethinking-rails-3-routes <comment><USER2> What an awesome way to advocate for code change. Very pretty.

Unfortunately, I also think it's faulty. First, it doesn't actually advocate anything concrete. There's some hand-waving to Sinatra and other Rails features, but nothing concrete. If you're going to make such a pretty proposal, it should come with a call to specific action that people can get behind.

This is double true when it comes to API design. It's all fine and good to general ideas and principles guiding you, but when the code hits the editor is when all the constraints and trade-offs are revealed. I could fill a book with all the premature ideas I had for API rewrites that turned out not work when applied to the tough reality of real code.

But I'm wearing too far into hand-waving territory too, so let me address a few of the points raised:

1) "Not specifying URLs directly leads to poor [URL] API design and other ills": There are only so many (reasonable) ways to specify a URL if you want to follow REST principles. You name your resource and you give it an identifier.

/products/1-some-perma-id became a pattern because it was both simple, repeatable across models, and extractable. Why spend time coming up with a unique URL structure for every model that you want to expose when they follow the same pattern of using the model name as the url identifier?

This is exactly what Rails does and always have done. Spot patterns currently done by hand, extract said pattern into a convention, allow people to move on from thinking about how to do X until they hit an exception. This, in my mind, is exactly what leads to great API design and simple solutions. You do the same as everyone else when the choice is less important than the consistency.

Now I welcome the praise for Sinatra. I think it's completely awesome. I'd use it for smaller projects myself. But that's exactly where conventions don't give you that much. If you're exposing, say, 20 urls to the public, you don't gain a bunch from having a convention that follows a set pattern. In fact, cutting out the middle man of an abstraction can make the code seem easier to read and more immediate.

That trade off flips when you have 100, 500, or (as is the case of Highrise) 2000 routes exposed to the public. When 95% of those follow the same pattern, there's big gain in the consistency of a convention. The last 5% are handled by outlet valves that allow you to declare whatever exceptions you need.

2) "The Seven Action Names Don't Help": I think the default constraint of 7 is the most important part of the positive effects you get from following REST in Rails for internal organization. Again, this isn't theory, but extracted experience from practice.

Rails used to require you to map everything by hand. Lots of people ended up with mega controllers that had 25 actions because there was no easy pushback. By the time the controller was too big it felt like too much of a hassle to break it up just to add "one more action". We still have GlobalController in Basecamp to remind us of what that was like.

Having the default conversion that turns /product/1 into show is also just pretty code. The two alternatives lined up are not very pretty. I'll take "def show" over "get(:member) do |id|" or "get "/api/v1/report/:id" do |id|" any day when it comes to a large, consistent URL surface.

3) "Assets are resources": I completely agree here. This will be addressed in Rails 3.1 when we get the asset pipeline going.

But as always, the proof is in the code. I'd love to see an even simpler routes system, but none of the arguments presented in the article gives any indication that the proposed ideas will lead to that. I've been both surprised and wrong before, though, so please do investigate.

Again, though, kudos for the presentation. I wish more people passionate about API design would take the time to do something as pretty. But with more concrete code examples, please ;)

<comment><USER3> A necessary component of mass production is consistency. Like it or not, Rails has reached the masses of web developers and enforces its constraints and conventions to facilitate the production of new web applications. I empathize greatly with DHH when he talks about large apps and the need for conventions. The truth is that most web developers will never devote as much attention to URLs as some people think they should. Full stop.

With that in mind, stable conventions are of paramount importance if Rails is going to maintain its practicality when building large web applications. On the spectrum of poor conventions to good ones, Rails has been much closer to the idealistic end of pushing REST principles and the concept of resources over haphazard URLs and actions. We owe a debt to Rails and its designers for the abundance of REST in production today.

That said, I empathize infinitely with Adrian Holovaty. I love URLs and I want them to always be beautiful everywhere. It's true that Rails gives less obvious control over URLs than Django or Sinatra, but it does so for the reasons mentioned above. There are probably small changes that could be made to make Rails more URL-aware for those of us who would like to craft every URL with loving adoration, but those changes absolutely must be compatible with the consistency already embodied in the Rails routing system. I haven't thought much about what those changes might look like, but I agree with DHH that the post above feels very hand-wavy in the proposal department.

Just remember that we URLophiles are a minority. Rails must work well for the majority and they will never care about URLs.

<comment><USER2> I'd be curious what hand-crafted URLs you feel aren't possible with the new Rails 3 router. We've gone far to allow all kinds of hand-crafted urls. For example, here's an example:

get 'something/fun/:id', :to => "controller#action"

You can map just about anything that falls outside of the conventions with a variety of that.

<comment><USER4> At that point, I suppose it is just a matter of taste: should the routes be specified inside each controller class, or should they be specified in a separate configuration file.

The over-engineer in me likes the way Rails 3 does it. That way I can pretend that my code is reusable, as the URL is decoupled from the code that eventually implements its handler.

But I suppose there is also something nice about a controller which self- defines the way in which it can be accessed.

<comment><USER5> _The over-engineer in me likes the way Rails 3 does it. That way I can pretend that my code is reusable, as the URL is decoupled from the code that eventually implements its handler._

You don't have to pretend ... it actually _is_ reusable. I don't get what's "over-engineer"ed about it.

<comment><USER6> Whenever I've tried to reuse the same controller for two URLs, I usually end up with some conditional logic within the controller to handle difference in parameters available from the URL.

I think a better approach would've been for me to subclass one from the other, or have a common parent class, and then handle the parameter differences within each subclass. At that point you'd end up with a 1:1 mapping between controller class and URL anyway.

<comment><USER7> That 1:1 mapping is a good thing, but I don't think that's a reason to completely do-away with routing altogether. Sticking the route in the controller just makes the code harder to follow.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I think Rails developers seriously, seriously fetishize those six actions to the detriment of several other concerns.

First, not everything your app will do is conveniently understandable in terms of resources, just like not everything code does is conveniently understandable in terms of operators. We have, thankfully, largely killed operator overloading and replaced it with functions. Why regress on function naming in our controllers? This is really a paypal_callback, not a PUT on the Paypal "resource", which doesn't even exist and if it did would tie across authentication, billing, and stats subsystems. (What does a PUT on Paypal even mean, anyhow?)

I also get hives when I think about including Rails default routes -- which are programmer-optimized, not user-optimized -- in publicly visible places, where they will get picked up by search engines and seen by copy/pasting users. example.com/categories/1/cards/5 is a part of your user interface... and it sucks. example.com/bingo-cards/holidays/halloween is superior in just about every conceivable way.

<comment><USER2> It seems you misunderstand how the Rails system works. But let me explain.

1) You can certainly have a paypal_callback method, if you choose. That's talking about the carrier, though, not the action. Presumably that callback means something specify. Like completing an order or authorizing a credit card check. Modeling your domain deeper like that makes it easier to follow and understand. But if you're either unable, unwilling, or uninterested in expanding your domain like that, you can certainly also just map paypal_callback to a controller with a action that corresponds to that.

2) example.com/bingo-cards can certainly work well if you know you entire namespace in advance. This can be true for things like CMS'es, but it's rarely true for user account based applications. For example, if your product has a /help section that's supposed to do something specific and a user creates another entity called "help" you're in trouble.

The /categories part establishes a namespace. So you can have both /categories/wonderland and /tags/wonderland and they can peacefully co-exist.

The ID part doesn't have to be a number either, but again it comes back to namespacing. If you don't use unique identifiers, there can only be one thing named halloween and it has to refer to the same entity. When that's true, go ahead, knock yourself out. Lots of Rails application is having a taste of two worlds with ID including permas, like /users/5-sam -- that's nice for SEO and still you can have two Sams.

Hope that clears up the confusion.

<comment><USER8> I think our difference of opinion here is largely a function that you run a web application which sprouted a CMS and I run a CMS which sprouted a web application.

</comment></comment></comment><comment><USER9> I think they should get rid of controllers and instead model RESTful / resource-oriented concepts like Resource and Entity directly!

A Resource is an object which responds to some subset of GET, PUT, POST and DELETE. It has a unique URL which identifies it.

(OK it's a bit more complicated than that, but you get the gist).

At present Controllers in Rails are a flat grab-bag of procedural code loosely associated with some group of resources, with meta-programming used to sweep some of the mess under the carpet. They're not an elegant way to model RESTful concepts.

(I actually have a framework in development for doing resource-oriented APIs on top of Rack, however it's currently very pre-1.0)

<comment><USER9> One particular thing which bothers me about controllers is the way they lump together obviously class- or collection-level methods (index, create, ...) with instance-level methods (show, update, delete, ...).

IMO requests should be routed to an instance representing a particular resource; the methods on that resource should correspond directly to the HTTP request methods. The collection (or the class) is a separate resource.

<comment><USER6> Agreed. I always thought that Rails controllers violated the Single Responsibility Principle (<http://en.wikipedia.org/wiki/Single_responsibility_principle>) by mixing collection and member concerns into a single class.

</comment></comment></comment><comment><USER10> He's totally right. This is why I switched to Sinatra even for apps larger than the typical sinatra app.

Most of the need for the rewrite of the router came from the overhead associated with having all those (often unused) routes in memory.

My sinatra apps use very little memory and that is great for a lot of reasons.

I also realized that I don't like the rails convention of having a separate file for everything. Avoiding that has saved me lots of RSI.

<comment><USER11> Conventions are powerful. Programmers should be allowed and able to come up with their own conventions that match their domain.

I personally find sinatra routes more scalable than Rails routes because they are modular (defined within the resources). Rails routes are one monolithic file with a separate controller layer.

</comment></comment><comment><USER12> I encountered an even bigger problem/limitation while implementing a RESTful API with Rails. It was that it's not easy to follow one of the most important principles of REST (from Wikipedia):

"An important concept in REST is the existence of resources (sources of specific information), each of which is referenced with a global identifier (e.g., a URI in HTTP)."

I do not find the global identifier (URI) in Rails when I just do a "render :xml => @model" or "render :xml => @array". Instead of a global identifier the id of the object is in the representation of the resource.

What is missing are the links between all the resources. When a client fetches a collection it must guess or reconstruct the URIs manually for the individual members. This makes it impossible to change the route generation on the server without breaking the client.

In REST Rails Models are Resources, but Rails Models don't know anything about their global unique id (URL). I wish there would be a way to just say user.uri and I would get something like "<http://myservice.com/users/1> or user.path "/users/1". It would be nice if this would be considered when rewriting the Rails router. Maybe the routes should be defined in the model (=resource) itself?!

I tried to implement links between resources in the API I created. You can find some information in documentation at <http://wiki.tagcrumbs.com/developers/rest>. In my opinion an XML representation of a truly RESTful service should look something like this: <http://wiki.tagcrumbs.com/developers/resources/user#examples>. Comments are highly appreciated.

</comment><comment><USER13> This suggestion is good until you need to change the whole set of URLs. Of course in a single web site deployment you seldom want to change URLs (and it is often a bad idea), but I changed URL scheme sometimes when I need to deploy my application in another place and integrating with other system. (e.g. Changing from path routing to subdomain). I would made crazy if I need to modify every controller to change the URL scheme.

I think the routing abstraction is necessary and useful in larger application. Isn't it a very simple and clever syntax for the routing configuration is good enough?

</comment><comment><USER14> I agree.

I was introduced to Ruby through Sinatra. Developed all my web apps using that though I used to play around with Rails. I had an initial idea that Sinatra was meant for small apps, and for anything serious you should go Rails.

However that idea seems invalid now; the way I'm now used to Sinatra, it is kind of getting almost all the goodies of Rails without the Routing layer (which I find hard to follow - as mentioned by the OP).

Sinatra+ActiveRecord+ActionSupport+ActionView = Rails - Routing - ActionController

<http://gist.github.com/423571>

</comment><comment><USER15> Slightly off-topic: It annoys me when I have to scroll both up and down while reading an article to read it sequentially (see Idea 1 and Idea 2 for an example infringement).

<comment><USER16> You didn't enjoy the benefit of being able to compare the two ideas side-by- side? They both neatly fit the screen in most resolutions if your browser window is max height, no scrolling in that particular case.

Beautifully designed article and your specific example is a great attention to detail on the author's behalf.

<comment><USER15> Three things: 1) I (and other people) like to scroll the page as we read so our eyes stay in a relatively fixed position and the text moves under it. 2) Plenty of monitors can't fit those entire sections. 3) Those two sections didn't benefit much (if at all) from side-by-side comparison.

</comment></comment></comment><comment><USER17> I really like the part about getting back to thinking in URLs. The application _is_ the URLs!

<comment><USER18> Everyone always says this, but I don't see it.

I've seen non-technical users balk at long, confusing URLs, but I've never seen one of them praise or even _remember_ a short, semantic URL. From the few non-technical people (mostly family) who I work with on a regular basis, URLs are just things to click on to get somewhere. Some of them are confusing.

Having semantic, discoverable URLs is awesome for people that think in terms of URLs. It's kind of a non-issue for people that don't.

<comment><USER17> URLs have never been for users. Users don't care how your application works. They just want it to work. URLs are for developers. We have links to abstract away URLs for users. But that doesn't mean developers shouldn't think in terms of URLs. Users also don't care about database tables and data normalization, but that doesn't mean developers shouldn't.

<comment><USER19> A subset of users care about URLs when a hierarchy exists. I've seen it happen during usability testing. /projects/25/tasks shows the tasks list... and I've watched the user delete the end of the url to get to /projects.

Most users don't care, but there are advantages to a clean hierarchical URL scheme, and it's one reason I like how Rails does routing currently.

</comment></comment></comment></comment><comment><USER20> I have come to believe the only purpose of controllers is to impose a callback structure on top of a deterministic set of resource-models. The more simple and lean the better. CRUD just happens to be the most useful subset of callback structures, so it's the default. If you're putting code in your controller that isn't for one of the 7 resource actions, then it probably ain't controller code. (To be glib, you should instead move that code to lib/util.rb, the smartest next mistake).

On the flip side, if you remove all the non-REST code from your controller to the extreme, like what you'd see when using the inherited_resources gem, the only code left will be your callbacks. DHH said this presentation needed to show some code to make the claim hit home. So the only code left to remove is the callback code.

How could the controller callbacks be made better, and more invisibly integrate with the routing muck? Rails 3 is getting the state machine gem added to core, so no doubt about this time next year someone will have re-re- re-written the routing code using the state machine api. Could the routing muck be made to be the controller callbacks? I always liked the idea of how the Seaside framework did it using continuations, even though in practice it wasn't quite as good. Everyone knows that creating a zen-simple state machine api using continuations is not fun by anyone's measure of the word "fun."</comment>


Lulzsec Doxes "The A-Team" - <AUTHOR> http://pastebin.com/1MUPY2P7

<comment><AUTHOR> Before reading the dox info from "The A-Team" on Lulzsec, and now Lulzsec on "The A-Team," it seems that within this particular group of people there's a rather large transgender population.

Anyone else find this interesting?

<comment><USER2> Of course it makes sense. These are mentally and spiritually ill boys who grew up on their computers, stuck in their own head, and likely without a strong father figure. Their development is more screwed up than output from a drunkenly coded compiler.

Trying to pretend they're girls makes perfect sense.

<comment><AUTHOR> Can you explain why you think they're "mentally and spirtually ill boys"?</comment></comment></comment>


EU Court says: Social networks can't be forced to filter copyrighted content. - <AUTHOR> http://online.wsj.com/article/BT-CO-20120216-705135.html

<comment><AUTHOR> Maybe it's time to set up European youtube without all the content blocks.</comment>


The flat-Earth conspiracy is spreading around the globe - <AUTHOR> https://www.cnn.com/2019/11/16/us/flat-earth-conference-conspiracy-theories-scli-intl/index.html <comment><USER2> Wherever there's people believing in absurdities there is a big business opportunity, and I would dare to say that nobody among those who make money out of this conspiracy theory actually believe the Earth is flat. They're just milking the cow.

The problem is: what if they one day add some mystic nonsense to their theory, morph into a cult, then become more powerful until they can "purchase" a religion status? Sounds familiar? It may seem stretched, but assuming they're there for the money, the above steps would be natural moves to gain more power, immunity etc.

</comment><comment><USER3> I mean at least these fools aren't spreading polio. So have at it.

>a flat-Earth conference is invariably also a gathering of anti-vaxxers, 9/11 truthers and Illuminati subscribers, to name a few.

oh. Scratch that I guess.

<comment><USER4> Because anyone who thinks 9/11 was a bunch of lies is completely crazy. Governments don't lie. Amen.

</comment></comment><comment><USER5> My brother loves flat earth as a purely social phenomenon. He tells people he's a flat earther mostly to get a rise, which is what I think most people who claim to support this also do.

It's trolling as performance art and it riles up self-important sciencey types which is what continues to propel it forwards. Global warming denial only goes so far - but swearing up and down the world is flat? Now you're talking!

<comment><USER6> Awesome, perhaps in the future we'll stop wasting our reverence on the great minds of everything from science to literature. Instead, we'll spend it on worshiping people like your brother, who lead the way in mocking anyone who respects intelligence.

Utopia here we come!

<comment><USER5> Your response is the exact type of response he tries to get from people. My dad, him, and me all enjoy poking people, it's a genetic thing I think.

<comment><USER6> Nah, it's an increasingly common nihilistic attitude we see in society - people reveling in eroding of all moral principles, because it's far easier than actually getting recognition for doing something enriching with their lives. Angry Incels being the ultimate epitome of this.

Not saying your brother is an incel, but "trolling for lolz" is definitely on the spectrum.

<comment><USER5> How upset you are by the thought of my brother teasing people by pretending to genuinely believe the earth is flat is making _me_ smile!

<comment><USER6> Good for you champ. Glad it was so easy to please you.

</comment></comment></comment></comment></comment></comment><comment><USER7> did you ever consider that people may want attention more than truth?

</comment><comment><USER8> Flat-earthers are ridiculous. I mean, if the world really was flat, cats would have pushed everything off by now.

</comment><comment><USER9> Great headline.

</comment><comment><USER10> What globe?</comment>


What's New in C# 9.0 - <AUTHOR> https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9 <comment><USER2> > In C# 9.0, you can omit the type in a new expression when the created > object's type is already known.

      private List<WeatherObservation> _observations = new();

This is something I've long wondered why I couldn't do and I'm glad I'll be able to in C# 9.

<comment><USER3> I wish other languages would adopt this too...

</comment></comment><comment><USER4> From the top-level statement section:

> Top-level statements enable a script-like experience for experimentation > similar to what Jupyter notebooks provide. Top-level statements are great > for small console programs and utilities.

This is great for small, one-off scripts that can handle simple tasks for sysadmin work. I use Powershell for handling configuration changes on the CLI, but I don't write and save many scripts with it. Perhaps I need to learn more about the PS environment to fix that. Either way, I have a hunch that there are some tasks—which would be cumbersome in PS—that this new feature would make accessible.

<comment><AUTHOR> You can already use C# for scripting with previous versions.

[https://docs.microsoft.com/en-us/archive/msdn- magazine/2016/...](https://docs.microsoft.com/en-us/archive/msdn- magazine/2016/january/essential-net-csharp-scripting)

[https://itnext.io/hitchhikers-guide-to-the-c- scripting-13e45...](https://itnext.io/hitchhikers-guide-to-the-c- scripting-13e45f753af9)

C# 9 just makes it easier.

</comment></comment><comment><USER5> Wow, function pointers is huge for native binding. Lot's of QOL new features as well. C# and .NET framework (core and future merged .NET) in general keeps delivering. Love the entire stack;

</comment><comment><USER6> Record types seem like a direct borrow from F#. They even keep the immutability and with-expressions.

</comment><comment><USER7> Init only setters are a dream come true. Property initializer syntax to me is very readable and lack of read-only support after initialization was the main reason i avoided using it

<comment><USER8> It was unclear to me from the article, if you don't set an init property during construction, does it get default value or compiler error?

<comment><USER9> Default value, just like if you do { get; private set; } and never set it, or just { get; } and never do.

</comment></comment></comment><comment><USER10> I get the impression that Microsoft is dogfooding C# on a greater level than before beginning with Span<T> and Memory<T> in .NET Core 2.1 (among others), still clearly ongoing here in C# 9. It's almost like a paradigm shift where I note the .NET Framework of past focused on higher level features and evolving the standard library first and foremost. I'm not sure if it's just me though, or if not, what the reason behind this push actually is.

<comment><USER11> Span/Memory/ValeTask and friends were motivated by optimization push for ASP.NET core, they were serious about getting to the top of some benchmarks.

<comment><AUTHOR> And from the experience with Midori as well, which got them first in System C# (M#), which also contributed to span and string_view papers for similar capabilities in C++.

</comment></comment></comment><comment><USER12> New is patterns are nice:

        public static bool IsLetter(this char c) =>
            c is >= 'a' and <= 'z' or >= 'A' and <= 'Z';

<comment><USER13> the negated pattern is a bless for me, finally removing a lot of null checking into this short condition instead.

      if (e is not null)
      {
          // ...
      }

<comment><USER14> Do you have some more context for the before/after of the code?

I don't see a big win over

        if (e != null) {...}

<comment><USER15> The bigger win I think for the `not` patterns will be anywhere you remove constructions in the form:

        if (!(e is Class)) {/*...*/}

Sometimes the ! gets visually lost in the extra parentheses. The `not` patterns should especially make it cleaner to write certain styles of DeMorgan substitutions (!a && !b to !(a || b) type things) in ways that will be easier to read.

Given those big wins, they alone provide a useful context of some consistency of having the `not` operator even for "simple" cases like (e is not null).

</comment></comment></comment></comment><comment><USER16> Not sure pattern matching will age well. It seems to promote anti-OO design, may cause the switch statement to devolve into if/else, and creates another way to do the same thing.

<comment><USER17> It's increasingly looking like in ten years C# will contain F# as a subset, so pattern matching is certainly not going away.</comment></comment>