Columnarization in Rust - <AUTHOR> http://www.frankmcsherry.org/columnarization/serialization/rust/2014/12/15/Columnarization-in-Rust.html <comment><USER2> _So like everyone without a job, I've started to learn Rust. And like everyone who has started to learn Rust, I now feel it is very important to tell you about my experience with it._

Well, that sums that up pretty succinctly. :)

<comment><USER3> That's the best intro to a blog post that I've ever read.

<comment><USER4> It gets two points deducted for the plague of the unnecessary introductory So.

<comment><USER5> Discourse markers may be unnecessary, but they do carry some meaning and serve a purpose.

</comment></comment></comment></comment><comment><USER6> There is a part 2: [http://www.frankmcsherry.org/columnarization/serialization/r...](http://www.frankmcsherry.org/columnarization/serialization/rust/2014/12/16/Columnarization-2.html)

</comment><comment><USER7> While I like the construction of the column store and the corresponding API. The claims of the author don't really make sense:

> "... columnarization, a technique from the database community for laying out > structured records in a format that is more convenient for serialization > than the records themselves."

Column stores in comparison to row stores don't offer any serialization benefit per se. The main benefits are the following, I will be using a record (A,B,C,D,E) as example with all types u32 (4 bytes):

* If you only use some fields you have to load less data from memory/disk into the CPU cache and your working set is more probable to fit into cache. For example when filtering only the records where A=22 and B=45 you only have to actually load x _(sizeof(A)+sizeof(B)) = x_ 8 bytes instead of x _record_size=x_ 20\. This can make a very significant difference. * When using compression to reduce the size of data, columns can often be compressed better because they only contain data of the same type and nature and thus probably share similarities. When using such a small record consisting only of integers it probably won't make a difference. But if e.g. some fields are country abbreviations, textual description or others are ids, one could easily imagine that there are gains.

Coming back to the point about serialization, using the same technique as described in the blog post, there won't[1] be a performance difference between column storage and row storage (e.g. using a struct). The method described in the blog post just lets the data array of the original vector be wrapped by a Vec<u8> without even moving the memory, so the method is independent of the data type that is stored in the vectors. Of course it will only work for data types that do not contains references, otherwise we could get illegal memory access after deserialization (which should be guaranteed by the rust type system because only Copy types are allowed).

The only thing this benchmark is testing is how fast a vector can be initialized.

[1] There can be an space improvement of keeping the data in a column layout compared to row layout when using normal structs. Normal structs normally align the total size to the size of the largest field in the struct. A struct containing i64 and i8 would contain 7 bytes of padding. In a column layout this overhead would be avoided. Still there would not be an improvement in this serialization scheme as it does not actually copy any data.

<comment><USER8> Hi, author here.

Unless I misunderstand your post, I think you may have missed important parts!

More is going on than "just wrapping the data of the original vector as a Vec<u8>". That is what happens when we are handed a Vec<uint>, but for other inner types (pairs, vectors, etc) there is more to do (and, actual code presented showing what that work is).

1\. A Vec<(u8, u64)> definitely ends up as a (Vec<u8>, Vec<u64>), thereby avoiding padding you'd have if you just wrote out the elements as structs. You absolutely end up saving space, and part of doing this is definitely copying data. (responding to "as it does not actually copy any data").

2\. The types themselves can be vectors, corresponding to a struct with owned pointers (whose elements can also own pointers, etc). This is not something that just casting the source array will deal with. It's important here that Rust hands you ownership, as otherwise it would be totally inappropriate for us to claim the underlying memory (which the code does). That part, recycling owned memory, is one of the big performance wins (about 2.5x faster for me than invoking the allocator each time I need to mint a new array).

3\. "Copy" doesn't appear in the first post. The types don't have to be Copy, and indeed Vec<T> is not Copy, even if T is. Not sure where you got that from. But, no such requirement; yay!

Read part 2 for more about Copy, and how when your type is Copy you get a free implementation that does what you suggest (keeping each struct intact), except you can mix and match with Vecs and Options and stuff like that.

Hope this clears up some of the not-sense-making. Feel free to holler with other questions.

Cheers, Frank

<comment><USER7> Addressing your points:

1\. In my comment I acknowledge that there are space savings with types that include padding. I don't understand why you imply in your answer that I didn't understand this point. Regarding my comment about not copying data: it was based on the benchmark[1] as linked in the blog post. The parts you measure do not copy any of the user data! It only converts your internal vectors of user types to a list of vectors of u8 type. So what you are doing is essentially moving the data. But when using move semantics the size of the user data does not matter any more, so there won't be a difference between your column layout and using the more complex types directly inside the vectors if measured the same way as in this benchmark. In my opinion your benchmark is flawed and does not support the argument you make in your blog post.

2\. Ok yes that was bad wording on my side. If you provide adaptors for complex types with pointers like Vec than you can of course also serialize those.

3\. I guess this is just about the same argument as point 2) and thus redundant.

I made the effort for you to write a serialization framework which does not do "columnarization" but which simulates row layout and also added an adaptor for vec and ran it with the same benchmark, and also reran the original columnar benchmark on my machine. Both benchmarks were compiled exactly the same way. You can find my code here[2]. Here are the results:

</comment></comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

columnarization <uint> 12.1 GB/s, 742k values/s

columnarization <(uint, (uint, uint))> 5.3 GB/s, 107k values/s

columnarization <vec<uint>> 2.1 GB/s, 54k values/s

columnarization <Option<uint>> 1.58 GB/s, 163k values/s

</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

row (simple_serialize) <uint> 12.1 GB/s, 730k values/s

row (simple_serialize) <(uint, (uint, uint))> 8.83 GB/s, 164 values/s

row (simple_serialize) <vec<uint>> 2.13 GB/s, 56 values/s

row (simple_serialize) <Option<uint>> 8.82 GB/s, 263k values/s

</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

You see that columnization does not have a performance benefit in your benchmark and it even is significantly slower for Option<uint> type and pairs.

In your blog post you never mentioned that columnization will only has the potential to bring performance benefits to de-/serialization when using types with large padding overheads. I think this discussion would probably helped the blog post. It would be much better if it would either omit the currently wrong performance argument and just focus on the nicely typed API or if it would use a proper benchmark which would support your argument, which from my understanding would be only possible in a very limited set of use case scenarios.

Here is a list of other valid arguments you could have made instead:

* Format saves space at the cost of performance.

* Better than repr(packed) as it will also work on platforms that don't support unaligned access

[1] [https://github.com/frankmcsherry/columnar/blob/master/exampl...](https://github.com/frankmcsherry/columnar/blob/master/examples/example.rs) [2] [https://github.com/mkaufmann/simple_serialize](https://github.com/mkaufmann/simple_serialize)

<comment><USER8> With all due respect, your code seems to be a copy/paste of my code, where you've removed the Pair and Option implementation (allowing the alternate default I discussed in my second blog post) and replaced my string `ColumnarVec` with your string `SimpleSerialize`. So, thank you for measuring my code for me? :D

The reason the new numbers look better for Option with the Copy implementation is that you are now writing 16 bytes for each Option. They are a 50-50 mix of Some(0u) and None, which I wrote out in 5 bytes on average (always a 1 byte "present/not", and then 4 bytes of data on average). The Copy implementation is just writing 3x as much data and padding the throughput numbers, rather than reporting something more like goodput.

I sense that this isn't the right place to shake this out, so I'll stop posting. If there is a better way to follow up, let me know.

[edit: I've got you through github, thanks! I'll buy beers when I swing by TU next]

<comment><USER7> The changes make all the difference. Your argument was that columnization and thus storing each native type in a data record in seperate columns brings a performance benefit. By removing the specialisation of Pair and Option which save the data in seperate columns I switched back to a classical storage which basically stores the data of one record at one place like a row store. So your code simulates a column store and my a row store.

Using your original benchmark I than show that the row layout brings a large performance win in the benchmark. My numbers show this performance win not just in throughput (bytes per sec.) but als in "goodput" (values per sec.). Check my previous comment. I just noticed though that I sometimes forgot the k in the reported numbers, where it is missing you have ti multiply the number times 1000, I can't edit it anymore.

I guess we can agree to disagree and should continue the discussion in another form ;)

PS: I just updated my github information, I am now at the TU Munich

</comment></comment></comment><comment><USER9> I'm not familiar with Rust, but I wonder how much copying this does for deeply nested types?

<comment><AUTHOR> Rust has move semantics by default. A move does a bytewise copy, and then disallows access from the old location.

This code largely just copies pointers around.

</comment></comment><comment><USER10> Seeing how the Rust community seems to have converged on using `uint` as the default type for array indexing and so on; wouldn't it make sense to reflect that in the complexity of the name of the types?

Instead of (uint, int) we could have (int, sint) or (uint, sint).

<comment><USER11> You are going to confuse a hell of a lot of people if you make int mean "unsigned integer"!

<comment><USER12> So maybe "nat" for "uint", then?

<comment><USER13> nat makes me think of arbritrary-precision numbers. I think uint is fine.

<comment><USER14> Also not all of the world agrees upon whether 0 is a natural number or not.

</comment></comment></comment></comment></comment><comment><USER15> Pretty cool. Columnarization is used in other contexts like high performance computing, or Entity Component System in gaming. It's data centric and very cache friendly.

</comment><comment><USER16> Make sure you compile your release/bench builds with --release (if using cargo) or (-O if using rustc).

<comment><USER17> IIRC release is the default when testing or benching.

<comment><USER18> Only when using `cargo bench` to compile/run them.</comment></comment></comment>


Swiss startup Poken: collect people, places, and things with a touch - <AUTHOR> http://www.poken.com/#video-info

<comment><USER2> It will be interesting to see if markets want this product??

There is an ongoing debate going on as to whether people are comfortable with the amount of requests for "various connections".

Good luck..the product looks easy enough!!</comment>


Google Maps API - More Than A Map - <AUTHOR> http://www.morethanamap.com/

<comment><USER2> Cynicism aside, this is very true. I've used a done of different mapping libraries, and the actual map display part is Google's weakest part- leaflet.js and ModestMaps are much faster, particularly on mobile devices.

But on the flip side, I've never found a provider capable of geocoding as well as Google- especially with response times that allow you to make a typeahead address searcher. Google's Styled Map Tiles are still ahead of anyone else's offerings.

<comment><USER3> Even when you have a concrete latitude/longitude point, Google returns street addresses a lot more often than alternatives, such as Bing. And you're right about the response time, in comparison Bing is extremely slow.

Unfortunately after getting passed the free tier, it gets kind of expensive.

<comment><USER4> I have been happily using Yahoo's geocoding service, with google coded as a backup service. My application doesn't require speed, so I don't know how it stacks up against google in that regard. I have run into a couple of cases where yahoo's street data was not as fresh as google's.

</comment></comment></comment><comment><USER5> Maybe (ok, not maybe) I'm getting too philosophical about such decisions these days, but Google is, at it's heart, an ad company that happens to be really good at tech. Nokia is a tech company that is really good at tech. My choice is Nokia - they're just a closer match to the view I have of myself.

<comment><USER6> I think Google is a tech company that happens to be really good at ads (which is uses to fund all of its tech). Google didn't set out to sell advertising, it was just a way that they could continue solving big problems.

For example, I don't think Google is spending big dollars on automated cars to advance its advertising business.

<comment><USER7> Google makes 99% of its money from ads, and it has pretty much always been that way.

They're definitely an ad company.

<comment><USER8> Their business model is undoubtedly ads. But I think that's slightly different from saying they are an ad company. As far as I can tell, the primary reason that Google exists is for clever technical people to do new geeky stuff. They need a way to fund that geeky stuff and that's where ads come in, but the ads and the revenue aren't where their real passion seems to be. If they could simply sit back and watch the $$ rolling in through ads without ever doing another bit of innovation, I doubt they would do it.

This is quite different from the vast majority of companies. BP, for example, don't exist because their peope are passionate about drilling oil - it's because drilling oil is a very good way of making money. Even companies like MicroSoft exist (and pretty much always existed) primarily as a money-making business. Sure they attract lots of nerds, but the money driven the company's choices of where to deploy those nerds.

</comment></comment></comment></comment><comment><USER9> True, it's more than a map. It's a map AND a monthly bill!

<comment><USER10> It's mostly free actually, and the pricing is very flexible otherwise: [http://googlegeodevelopers.blogspot.com/2012/06/lower- pricin...](http://googlegeodevelopers.blogspot.com/2012/06/lower-pricing-and- simplified-limits.html)

<comment><USER11> It's 50c per 1000 requests. So if you were building a semi-popular website or iPhone app with 10K requests/day it would be $150 a month. In what bizarro world is that mostly free ?

<comment><USER2> In addition to what chrisbroadfoot said, 10K requests for $5? In what bizarro world is that a problem, given the service you are receiving?

<comment><USER11> Remember that's 10K requests for $5 NOW. We could see it jump back to its original price at any time of Google's choosing which would have been $40.

But the 10K requests bit is arbitrary. My point is that it is not mostly free. It's not really even close to being free.

<comment><USER2> Well sure, the price of anything can change in the future. It's difficult to plan for that.

But as others have said, you get 25K free per day. It really depends how big your audience is as to whether it's "mostly" free.

</comment></comment></comment></comment></comment></comment><comment><USER12> I guess they are feeling the heat with the recent changes in pricing

</comment><comment><USER13> I can't help but feel this is an attempt to calm people from switching to mapbox (<http://mapbox.com/>) and OSM. The price is now on par but unless they improve their JavaScript API I can't find a compelling reason to go back to Google Maps.

</comment><comment><USER14> Mapping leads to directions leads to scanning leads to navigation leads to automated cars leads to autonomous bipeds.

And facebook is trying to do to social mapping what google is doing to world mapping.

</comment><comment><USER15> I like the nice scrolling effect within the developer-stories/

<comment><USER16> Funny thing, in the last story, while it says Brazil, the background is from Women's Bridge (Puente de la Mujer) in Buenos Aires, Argentina.

<http://en.wikipedia.org/wiki/Puente_de_la_Mujer>

</comment></comment><comment><USER17> Well it shows the Google finally understands just-in-time or opportunistic Marketing.

Their autonomous driving cars are going to change every market out there.

<comment><USER18> This is marketed to (potential and current) API users, not iOS users. They have been getting some competition after their move to charge for API usage.

</comment></comment><comment><USER19> Very well made.

<comment><USER20> It looks nice, but it breaks default browser navigation standards. The space bar doesn't paginate, and scrolling to the end of the page doesn't stop scrolling, but forces me back to the top of the page. This is happening in Safari, can't attest to other browsers, but I found it distracting.

</comment></comment><comment><USER21> If only there was a native iOS app for this! Time to switch to Android I think.

<comment><USER22> [http://www.csmonitor.com/Innovation/Horizons/2012/0926/iPhon...](http://www.csmonitor.com/Innovation/Horizons/2012/0926/iPhone-5-will- see-Google-Maps-app-by-end-of-year-report)

</comment></comment><comment><USER11> Definitely more than a map. Google's latest revenue source.

So unfortunately as a developer I would rather spend my efforts helping to improve OpenStreetMap.

<comment><USER23> True, but if you're a business that needs this kind of data for your product, it's almost certainly cheaper to pay Google than to either develop it in-house or make contributing to OpenStreetMap part of your business. Personally, I'd rather build things than pay someone else for what they built, especially if the thing is interesting or "fun"; but reality confronts most of us. Smarter to pay for the wheel than reinvent your own (or waiting for someone else to do it, for free) ... at least, that's the assumption I'm operating on.

<comment><USER11> I think you misread what I said.

It was that IF I was going to spend money on a mapping API I would rather use it to improve an open platform. Especially for something as key as mapping.

<comment><USER23> Gotcha, I did misread.</comment></comment></comment></comment>


How I got a root shell in my NAS, 0day inside - <AUTHOR> http://blog.pentbox.net/index.php?controller=post&action=view&id_post=4 <comment><USER2> This is cool, but typically it's not considered a vulnerability when the user in possession of the hardware or with admin access can root the box. It's actually inevitable.

Unless an unprivileged, remote attacker can also get a shell on the box, it's not a big deal.

<comment><USER3> That's not correct. When a researcher finds a vulnerability to get root access on an iPhone (hardware that he owns), it allows him to run code as a privilege user and modify the whole system. That's how jailbreaks are born, and Apple fixes the issues as soon as possible.

</comment></comment><comment><USER4> So apparently it doesn't give the owner root by default? I don't think I would buy such a product.

And this guy reports the means of getting root on his own device as a "defect" to be "fixed"? That is disgraceful.

You can make a NAS from generic PC equipment, altho it takes some work to get a lot of convenient features.

<comment><USER5> There are FLOSS friendly NAS-es out there:

[http://sourceforge.net/projects/qosgpl/](http://sourceforge.net/projects/qosgpl/)

[http://wiki.qnap.com/wiki/Debian_Installation_On_QNAP](http://wiki.qnap.com/wiki/Debian_Installation_On_QNAP)

[http://www.cyrius.com/debian/kirkwood/qnap/](http://www.cyrius.com/debian/kirkwood/qnap/)

with decent Debian solutions:

[http://www.openmediavault.org/](http://www.openmediavault.org/)

or [http://www.nas4free.org/](http://www.nas4free.org/)

</comment></comment><comment><USER6> How I got a root shell in my NAS:

Went to "Terminal" in the web control panel.

Enabled the SSH service.

SSHed in as root.

This is an off-the-shelf device, not an OS I installed myself.

<comment><USER3> Not the same NAS, in DNS320 you don't have that option:

[http://www.support.dlink.com/emulators/dns320/200/login.html](http://www.support.dlink.com/emulators/dns320/200/login.html)

</comment></comment><comment><USER7> The DNS320 has been my home server for just over a year (replacing a LinkStation). You can install Fonz FunPlug in about 5 minutes and get a solid, mirrored server for about £20.

[http://nas-tweaks.net/devices/d-link-dns-320/](http://nas- tweaks.net/devices/d-link-dns-320/)

<comment><USER8> Unless I'm not understanding correctly, I think you misspelled £60

</comment></comment><comment><USER9> Wow, great guide to some seemingly awesome tools I didn't know until now.

I love posts like this, well written and easy to understand. This show that finding vulnerabilities is not magic for some ubergeeks but straightforward analysis with a bit of trial and error.</comment>


KFC will test 3D printed lab-grown chicken nuggets this fall - <AUTHOR> https://www.businessinsider.com/kfc-will-test-3d-printed-lab-grown-chicken-nuggets-this-fall-2020-7 <comment><USER2> Just drip a little chicken grease on those PLA nuggets!

Yum!!</comment>


George Soros: Mark Zuckerberg Should Not Be in Control of Facebook - <AUTHOR> https://www.nytimes.com/2020/01/31/opinion/soros-facebook-zuckerberg.html <comment><USER2> > Speaking at a cocktail party in Davos on Jan. 22, Facebook's chief operating > officer, Sheryl Sandberg, repeated the worn Silicon Valley cliché that > Facebook is trying to make the world a better place.

How out of touch is Sandberg, yikes. The hubris of a FB exec still clinging onto that old phrase after everything they've become associated with.

This being written by Soros and not an article about something he said makes this message much more interesting. He's putting FB on blast in public forum, it's a much louder message.

> In 2016, Facebook provided the Trump campaign with embedded staff who helped > to optimize its advertising program. (Hillary Clinton's campaign was also > approached, but it declined to embed a Facebook team in her campaign's > operations.)

Will this become a theme for all elections? Does FB also do this for other elections and in elections outside of the US?

It feels like a bit of a dirty game to embed your engineers into a political campaign.

</comment><comment><USER3> Creepy billionaire complains that another billionaire isn't doing what he wants. Yawn.</comment>


Moles at Major US Providers May Be Granting Direct, Live Access to the NSA, FBI - <AUTHOR> http://financialcryptography.com/mt/archives/001431.html

<comment><USER2> This is one article that I hope does not sink, and could benefit from a different title than the one used in the article.

The whole point of this article is to raise awareness that the age-old intelligence trick of planting moles in companies can explain both how the NSA could have access, but the targeted companies wouldn't know it. This squares the newspaper reports with public denials.

<comment><AUTHOR> Thanks. I agree with what you said, and that's why I posted this article. I've updated the title, do you think it's better now?

<comment><USER2> I like this title better, but I'm sure that a moderator will change it back. :-(</comment></comment></comment>


More Thoughts On Zenter - <AUTHOR>

<comment><AUTHOR> The more I think about it the more I think Zenter might be in a very good position; if their software is really good (and I expect it is) then Google competitor's might want to acquire something to compete with Google.

What do you guys think?

<comment><USER2> The first question is...who competes with Google in this space? I doubt Yahoo! would do that. I doubt Oracle is. I doubt eBay is. Apple is a long shot. Microsoft has Office Live and well.. Office 2003/2007.

Other web 2.0 companies focus themselves in media field not technology field.

<comment><AUTHOR> I would agree with you about Ebay - but Ebay just bought StumbleUpon. Maybe they are shifting, albeit subtly.</comment></comment></comment>


Show HN: To – free 3-char URL shortener workflow for Alfred - <AUTHOR> https://xn--55g.to/ <comment><AUTHOR> Step 1: Set auto-replacement for `->` [https://www.dropbox.com/s/p8kjahsbblhgd6b/Screenshot%202020-...](https://www.dropbox.com/s/p8kjahsbblhgd6b/Screenshot%202020-01-06%2012.01.20.png?dl=0)

Step 2: Get Alfred [https://www.alfredapp.com/](https://www.alfredapp.com/)

Step 3: Get To shortener script at `->.to` ([https://xn--55g.to](https://xn-- 55g.to))

Step 4: Install the workflow

Step 5: Run Alfred: `-> YOURURL` and press Enter.

[https://www.dropbox.com/s/gjqxii1skqutlo6/Screenshot%202020-...](https://www.dropbox.com/s/gjqxii1skqutlo6/Screenshot%202020-01-06%2012.04.10.png?dl=0)

You've got your shortened link in your clipboard!

[https://www.dropbox.com/s/q6eb1f8aok6o8x6/Screenshot%202020-...](https://www.dropbox.com/s/q6eb1f8aok6o8x6/Screenshot%202020-01-06%2012.05.34.png?dl=0)</comment>


How Reddit Got Obama - <AUTHOR> https://allthingsd.com/20120829/how-reddit-got-obama-there-are-quite-a-few-redditors-at-1600-pennsylvania-ave/ <comment><USER2> They didn't "get" Obama at all. He has so far answered a total of 10 questions, all of them canned, standard set pieces from his campaign that you could have just as easily read off his website. And he wasn't even the one interacting with the community; it's questionable if he was involved with this AMA at all. This was essentially a complete abuse of the AMA system but no one's calling him on it because he's the POTUS.

<comment><USER3> > He has so far answered a total of 10 questions

I'd point out that he did say he only had 30 minutes, and given how poorly reddit handled the traffic, I'm surprised he managed to get 10 answers in, copy/paste jobs or no.

How would you have preferred it to go, anyway? Seems like he's not going to make everyone happy no matter how its sliced, so perhaps he should have just not done one?

<comment><USER4> That's by far the least of the objections raised. 10 interesting, insightful answers that offered new information would have been fascinating. But we got 10 canned answers that told us nothing we already knew. _That_ was the real problem here, although nobody should have been surprised.

<comment><USER5> "But we got 10 canned answers that told us nothing we already knew."

What do you mean?

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

</comment></comment></comment></comment></comment><comment><USER7> > "Not surprisingly, every answer he's offered up so far has been studiously > on-message."

This part was a bit disappointing. Part of the fun of an AMA is finding out the unexpected.

His one-liners about the Bulls or "NOT BAD" were my favorite parts.

<comment><USER8> What do you expect? When you're in an office, and I mean a _high_ office, you represent that office and all that office represents. Right or wrong, the office of the President of the United States represents America on the international scene.

And people are unfair. People take things out of context. Occasionally, people just make shit up and shove it into your mouth. You can't stop them, but you can avoid helping them to the extent it's physically possible.

There's always going to be a noise floor in politics: The rampant idiocy, blatant lying, and absolute unreasoning psychotic hatred honestly felt by certain groups. Going off-message can either raise or lower that floor, and the sad fact is a single bad statement raises it a lot higher than a large number of good statements can lower it. Look at Muskie: He lost the nomination in part because he _possibly_ cried on stage. _Possibly_. It could have been snow, but the implication was there. Nixon's lies hurt him, but it was likely the 'tears' that broke him.

[http://en.wikipedia.org/wiki/Edmund_Muskie#Presidential_cand...](http://en.wikipedia.org/wiki/Edmund_Muskie#Presidential_candidate)

<comment><USER9> Then frankly he shouldn't be going on a forum known for its impertinent (to say the least) questions and saying "Ask Me Anything".

The abuse of Reddit AMA for boring, dull, traditional PR purposes takes one of its more interesting contributions to the internet and makes it just another venue for the Same Old Thing.

If a politician wants to be careful, let them go to the old careful outlets.

</comment></comment></comment><comment><USER10> Is it "Reddit got Obama" or is it "Obama got Reddit"?

I think the best answer is, "Yes," since it seems to be mutually beneficial exploitation of Reddit _USERS_ for the sake of press coverage (both Obama getting press and Reddit getting press).

</comment><comment><USER11> "Front page of the internet" was always an ambitious tagline.

Reddit is living up to it now, though.

<comment><USER12> That comes straight from pg, as reddit was his idea. He sold it to Alexis and Steve as "the front page of the Internet", that is, a user-curated list of all of the most interest links out there. While it may be read as ambitious, it was originally just intended to describe what reddit was and how it worked. It was the precursor of the "AirBnB for lightbulbs" taglines that dominated pitches a couple years ago.

<comment><USER13> This comment confuses me.

<comment><USER12> Alexis and Steve applied for the first YC batch with a cell phone food idea that pg rejected.

He told them that he liked them, but not the idea. He suggested instead that they build "the front page of the Internet". They did, and the rest is history.

People have a tendency to think that phrase is somehow bragging, but it's really just what the original idea for reddit was. It's not about their size, but about the intended purpose of the site.

</comment></comment></comment></comment><comment><USER14> _There are quite a few redditors at 1600 Pennsylvania Ave..._

Your tax dollars at work.

<comment><USER15> It's so sad to see so many HN and Redditors so intent on their "upwardly mobile", morally relative dreams that they fail to take account of the totalitarian state they have come to live in. You will NOT be alright, jack.

Listen. As of September 2012, the AppForThat, Startup, bubble is just about over. I say this as someone who warned others of the dotcom and real estate bubbles. If you want to think of it as a "technical", or chartreading thing, fine. The bottom line is: GET OUT NOW, the shit is about to hit the fan. Yeah, I know you don't want to hear it. Sorry to bear bad news.

If you haven't heard of it, this is the Fourth Turning. (Startpage.com it). If you think life is going to go on as as usual, think again.

Get ready. Hunker down. This is for real. Don't trust the government.

<comment><USER16> Wait, what's going on? I want to understand but I can't decipher your words.

<comment><USER15> Wait, do you _really_ want to know? Really, really?

OK, <http://www.obamasrealfather.com/>

<https://www.youtube.com/watch?v=7s9StxsFllY>

<comment><USER17> [http://www.snopes.com/politics/obama/birthers/birthcertifica...](http://www.snopes.com/politics/obama/birthers/birthcertificate.asp)

</comment></comment></comment></comment></comment><comment><USER18> I wonder if Romney will follow up with his own AMA

<comment><USER19> He should send Ann to do an AMA on ColbertNation and only questions regarding Rafalca and dressage should get answered. Would make some entertaining reverse trolling.

</comment></comment><comment><USER20> His answer about Internet freedom was not to the point, sounded more like standard blank political talk without essence.

</comment><comment><USER21> The question I wanted to ask was "under what conditions would you call for an accelerated withdrawal from Afghanistan, or an extended presence in Afghanistan, compared to the announced 2014 withdrawal date." But Reddit was in read-only mode most of the time.

I really hope Romney/Paul and Gary Johnson (again) do IAMAs.

</comment><comment><USER22> Or how Obama killed reddit.

</comment><comment><USER23> As much as I love it, Reddit has some pretty unsavory corners. Assuming this makes any news outside the tech space, I'd be curious to see what comes out -- "President Obama answering questions on website affiliated with necrophilia" ?

<comment><USER24> As much as I love it, the internet has some pretty unsavory corners. Assuming this makes any news outside the internet, I'd be curious to see what comes out -- "President Obama answering questions on new technology associated with necrophilia AND child porn".

I'm being snarky, but it's comments like the one you just made which are echo- chambered into "there is something wrong with communications medium X because it was once used by group Y". Reddit's a big public forum: any big forum will have those issues.

<comment><USER25> > _"the internet has some pretty unsavory corners."_

Average voters actually use the internet and understand it. There's porn and stuff "out there", but most people don't run into it when they're visiting facebook, yahoo, espn.com, and other mainstream sites. The average voter isn't going to question the judgment of someone who "uses the internet" because it doesn't seem seedy to them.

The average voter doesn't know what reddit is, and wouldn't "get" it from the homepage. On the homepage right now, there's Obama's AMA and a couple of other serious political stories -- sandwiched between half a dozen memes, a picture of a canker sore shaped like a penis, and several instances of the word "fuck". You don't have to go looking in the unsavory corners of reddit to find stuff that would make my mom question the judgment of people who use the site.

<comment><USER26> I've recently been wondering why they don't move away from the 'default subreddits' model homepage and to a splash page: "Welcome to Reddit, a place where you can share links and talk about your favourite subjects. What are you interested in?", with a big search box, and a list of suggested subreddits that you can subscribe to. It gets users to create an account, and can allow for a friendlier experience for new people. Of course, there'd still be a 'go to the front page' link for people who preferred it, but this would help change the 'default' reddit experience, which for most people isn't great, as well as helps convey the message that reddit isn't a singular, rage comic- loving, pro-weed legalisation commmunity.

<comment><USER27> Believe me, this comes up every time we talk about product. A better onboarding experience is coming, with better subreddit discovery.

<comment><USER26> Back when reddit only had about 10 categories, I made a joke about how I wouldn't be surprised to see an xkcd category, because of how frequently the comics posted. When that actually happened, I rolled my eyes and wondered what these idiot admins had done, segregating the community into separate, yet very similar categories. In hindsight, it has shown itself to be a great idea, and by far reddit's greatest strength. I'm glad you guys have plans to highlight that to people.

</comment></comment></comment></comment></comment></comment><comment><USER28> Look, I get it. The President's time is extremely valuable, but 30 minutes? Seriously? I got the page to load 1 time, and by then it was over. I would have rather he didn't do it at all.

I did like that one of his answers referenced the Obama Not Bad meme, but I imagine that was pre-canned by one of his interns or something.

</comment><comment><USER29> Something overlooked in the "he didn't give interesting answers" complaints is that just being able to ask a question (even if it goes unanswered) is a form of communication with the President that's never been available to an average citizen in this way.

<comment><USER30> I'm pretty sure that Americans have been able to send to-be-ignored letters to the President since Ben Franklin invented the USPS.

</comment></comment><comment><USER31> >if he doesn't want an uncomfortable "boxers or briefs" moment, he can control that.

Jokingly I did actually comment that.

</comment><comment><USER32> What a disappointing AMA. He answers stupid questions about his favorite basketball player and the white house beer recipe, but completely ignores the important ones about decriminalization of marijuana.

Fuck him. I'm not voting for him. He's a mild and more sociable version of Romney.

<comment><USER12> Why on Earth would he go touch marijuana legalization with a 10-foot pole? He's not Ron Paul; he's actually trying to _win_ the election. The average swing voter is a middle-aged mom, and you want him to talk about marijuana legalization?

You can either be a frank politician who addresses all questions honestly, or you can be a politician who wins elections.

<comment><USER6> _Why on Earth would he go touch marijuana legalization with a 10-foot pole?_

Well, if its good enough for TED, why not Reddit?

[http://whohastimeforthis.blogspot.com/2012/03/best-of- ted-20...](http://whohastimeforthis.blogspot.com/2012/03/best-of- ted-2012.html)

 _Hands down, the best [TED] talk this year was from Bryan Stevenson on injustice in the US criminal legal system. For example, the number of prisoners in the last 40 years has grown from 300,000 to 2.3 million (primarily, I believe, due to non-violent drug infractions). One third of young African American men are in prison, on probation or on parole. Ours is the only country in the world that gives life sentences to 13 year olds. As for the death penalty, one out of nine defendants sentenced to death have been exonerated. in California a billion dollars will be spent defending and executing the death penalty in the next 5 years, although a referendum is on its way to re-direct those funds to police enforcement budgets.

What made the talk great was Stevenson's ability to weave in his personal stories, recounting memories of what it was like to grow up among activists like Rosa Parks. There was so much enthusiasm for Stevenson and his cause that TED Curator Chris Andersen jumped on the occasion to solicit donations for Stevenson's private foundation. Right there many of us stood up and, in aggregate, pledged close to a million dollars!_

<comment><USER12> You just wooshed my comment, hard. I'm not saying it's not a real issue, I'm saying he'd have to be an idiot to address it. It's a no-win situation for him: either piss of the young voters he's trying to court, or piss off the swing voters he _needs_ to court. There is simply nothing for him to gain by addressing marijuana legalization.

Ron Paul doesn't suffer from this problem. He's not trying (or able) to win the White House; he's trying to bring issues to the forefront of the public consciousness and raise awareness of libertarian positions. Ron Paul can afford to address the issues that would lose real candidates elections, as he's not about to win any elections outside of his House seat.

<comment><USER8> > He's not trying (or able) to win the White House; he's trying to bring > issues to the forefront of the public consciousness and raise awareness of > libertarian positions.

No, he's trying to make money from campaign donations. He always succeeds.</comment></comment></comment></comment></comment>


Insiders say Google was interested in buying Snap for at least $30B last year - <AUTHOR> http://www.businessinsider.com/google-offered-to-buy-snapchat-for-at-least-30-in-early-2016-insiders-say-2017-8 <comment><USER2> I am the only one thinking of [http://www.paulgraham.com/submarine.html](http://www.paulgraham.com/submarine.html)?

Why place an over one year old alleged offer in the media today?

Because the shares are free-falling, user growth quarter-over-quarter will likely be abysmal and float will drastically increase in 2 weeks.

The only possible sliver of hope for shareholders right now is a potential buyout. Remember how many times Twitter rallied on 'chatter' of a Google bid?

[https://www.theguardian.com/technology/2015/apr/08/twitter-s...](https://www.theguardian.com/technology/2015/apr/08/twitter- stock-price-rises-google-buyout-rumours-not-first-time)

[https://www.cnet.com/uk/news/twitter-buyout-rumors-google- sa...](https://www.cnet.com/uk/news/twitter-buyout-rumors-google-salesforce- interest/)

Edit: interesting number of down votes, is this such a far fetched conspiracy theory? If it was such an open secret at Snap, why has this not come out yet?

<comment><USER3> Yep. I feel like it's time to manually make a list of egregious submarine launchers, though it seems that it's journalists who's coverage is over a limited set of companies such as social media that are prone to doing things like this.

It feels like there should be a filter that considers who owns a paper, who the journalist has previously covered in depth, and what kinds of stories they're printing. Maybe something like a shill or hater score?

I'm not sure how easy this would be. Does anyone know if something like this exists?

<comment><USER4> Pick a reporter from any outlet and manually perform the analysis that you've suggested and I think you'll see that it is not easily computational. Even basic taxonomy of "kinds of stories" is not well implemented on a service such as Google News.

<comment><USER5> You'll also find that almost all reporters do the things you don't like. It's a mostly-inevitable consequence of the system of incentives and constraints that apply to almost all reporters.

</comment></comment></comment></comment><comment><USER6> I wouldn't take this seriously.

It sounds like they were just internal rumors that spread around and then eventually got to a journalist.

Unless the internal sources _directly and verifiably_ worked on drafting the proposal or discussing the concrete deal being purported - it's most likely inaccurate, overly optimistic hearsay.

Let's use our best judgement here and not humor the journalist for clicks and outrage.

<comment><USER7> Even if the rumors were true, it's meaningless. Every business the size of Google has a list of potential acquisition targets. (There was a leak of one such list from Amazon or Microsoft, I believe.) "Interest" and "intention" are two separate things, and the latter counts for a lot more.

</comment></comment><comment><USER8> True or not, Google clearly needed _yet_ another messaging service, which they in about a year's time would have messed up and deprecated.

How about they just unify what they already have on offer, and get it working properly (and maybe worldwide this time!) before messing with yet another service?

 _sigh_

<comment><USER9> I think Google's fragmented approach to messaging is hilarious but what's the harm in approaching messaging from different angles and apps? Why not keep at it as startups would, but throwing things at the wall and seeing what sticks?

<comment><USER8> I think the biggest problem are discovery and execution. Take the basic problem: How do I know which of my contacts I can contact where?

Google already had a unified account system, which covers a huge portion of the internet-using world: Google-accounts. It would be perfect for discovery and tying things together neatly with what they already have to offer.

If a contact your are chatting with in "Hangouts" (formerly Google talk and before that gchat?) also was using Duo on his phone... Google could show an icon for Due and offer a video-call to this person. _If_ both systems used the same ID.

Instead they chose to create entirely new login systems and identities for their new IM systems. This needless fragmentation means I don't know which of my contacts are available on which of the many google-provided IM-services.

Some _small_ changes here could really have significantly lowered the pain involved, and made all these different apps tie together in a way which would have been useful.

Now we just have a mess, getting worse every year, and I now refuse to use any of them for it.

<comment><USER10> Because this is honestly a really hard problem. There honestly just not really a good way of combining accounts without lots of manual effort on the part of the user. Users also largely don't want this. When Google combined Gmail and Youtube accounts it was just a god awful clusterfuck that required a lot of manual intervention for each user to get their stuff back in order. It also was a net negative because people didn't want their email/google+ tied to their anonymous youtube accounts.

<comment><USER11> Well I think there was no need to have separate accounts to begin with. YouTube and Gmail had different accounts because YouTube was a separate company.

I work for Google but opinions are my own.

<comment><USER12> I think having the option for separate accounts would have been best.

I try not to post anything on Youtube or favourite videos or anything because it's tied to my "real" Google identity which is very traceable to me.

For the same reason I try not to link my Facebook or Google accounts to games and stuff I can help it (though I've mostly given up).

I did have a "fake" Facebook account for lots of stuff that wanted access to my Facebook feed and it's craptacular. Same for Google, but switching accounts for Youtube is a hassle,

<comment><USER8> > I think having the option for separate accounts would have been best.

That's very contextual IMO.

Having the same handle across various _private_ communication tools provided by the same company makes sense.

Forcing you to use your real identity when making _public_ comments traceable across the internet is something completely different.

Forcing Youtubers to use real identities was bad. For these IM services, creating new accounts was bad.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Many years ago Microsoft was trying to purchase Yahoo for $45 a share. Every company has their Yahoo moment, where they consider making an over the top purchase offer for a company, that in hind site looks like a terrible idea.

I'm not sure how far the talks went, though given that this is just coming out now, I'm guessing they didn't go very far. Would be interesting to know if the offer is still actually on the table like the article hints at.

This is the price you pay for giving up all voting rights. If Evan doesn't want to sell no sale, no matter how good of an offer is on the table. With voting rights atleast someone can hold the CEO's feet to the fire to make them consider the idea.

<comment><USER14> The MS-Yahoo stories misses the fact that MS was trying to buy Yahoo _with_ its Alibaba stake.

The Yahoo that was sold recently did not include the Alibaba stake. This is where the key value of Yahoo lies.

If you break it down, the Yahoo Alibaba + Yahoo Japan stake + Yahoo's final selling price equals Microsoft's $45/share offer

<comment><USER15> And the Alibaba stage was bigger back then.

It's sad Yahoo chose to throw in the towel and spin itself off as an internet company rather than use the Alibaba stake to resuscitate.

<comment><USER16> Ehh, no point in throwing good money after bad.

A business is a business, and if you lose it makes sense to admit it.

<comment><USER17> Jerry Yang made a magnificent bet... one of the best investments ever in Alibaba. I don't think he's received enough credit even as Yahoo has been wound down.

</comment></comment></comment></comment></comment><comment><USER18> Snapchat is consistently the top 5 free apps in the US. I think it's worth the 30B for Google to break into that.

<comment><USER19> Its also not profitable, has slowing growth, and is losing market share as Instagram/FB copies its features.

I do think the product team at Snapchat is stellar though, they are creative and innovative and in-tune with what young people want.

<comment><USER20> I'll agree with you. I strongly believe instagram is taking over snaptchat. All of my friends switched to instagram from snaptchat. Some of them will still post on both instagram and snaptchat but it feels like they keep posting on snaptchat until their last set of contacts move from snaptchat to instagram itself.

I do believe that the people working for snaptchat are trying their best, and they are innovative etc, its just seems that instagram itself has become the new hip and its seriously competing with snaptchat.

<comment><USER21> It's interesting how Facebook has such a keen eye to spot the next pivot and move their giant ship inch by inch methodically in the right direction. They did it with newsfeed for the main site, main site to mobile transition(albeit with the html5 fiasco thrown in for a year), carving out messenger(and pivoting it to another screen to show ads) and now pivoting Instagram to subsume Snapchat.

Kinda how Netflix vs HBO is a question of - how fast can Netflix become HBO before HBO becomes Netflix. Instagram is definitely trying their best to have part of its identity be Snapchat. What is Snapchat trying to become rapidly before Instagram subsumes Snapchat? The walls are closing in fast(like it happened with Twitter) and if they don't figure out the answer soon they will suffer the same fate.

<comment><USER22> Facebook's strategy certainly has worked so far, but I doubt it's sustainable. Every time Instagram copies a Snapchat feature it is a pivot from their original vision. Unless Snapchat starts copying Instagram, over time the two will diverge, one is a focused and coherent product, the other becomes a feature laden beast.

Also internally I can't imagine how the Instagram engineers feel about their roadmap being "continue to copy and shoehorn Snapchat features into our app".

</comment></comment></comment></comment></comment><comment><USER23> Why be the next Instagram when you can be the next GroupOn?

<comment><USER24> I think WHO is buying is just as important as WHAT is being bought.

Who knows what would happen to WhatsApp if Google bought it? Could it become one of Google's current chat apps that no one uses?

<comment><USER25> When was the last time they bought a popular rapidly growing platform?

The last that I can remember was YouTube, and that turned out very well for youtube and google.

<comment><USER26> That was also 11 years ago, and only 2.5 yrs after Google's IPO.

</comment></comment></comment></comment><comment><USER27> Glorified article meant to inflate the stock price.

</comment><comment><USER28> Well, if Google had acquired Snap last year, at least they'd have a decent Android app, which couldn't possibly hurt their user numbers.

<comment><USER29> I'm not so sure. Google's own apps are horrid on Android compared to iOS.

</comment></comment><comment><USER30> Could the investors/founders have cashed out as easily (or for more money) through this type of acquisition vs an IPO?

That's basically the only relevant question here. I doubt Snap would have been a better consumer _product_ under Google's direction. They have a consistent habit of killing them off.

</comment><comment><USER31> This high value only because facebook bought whatsapp for almost $19 billion. Google offered $10b for whatsapp. They gave up for anything beyond it thinking it is too much only to realize later it was not.

<comment><USER32> Whatsapp is probably much more valuable to Facebook than to anyone else.

Could Google really significantly monetize Whatsapp? It seems Facebook can't - but at least Facebook can ensure their other revenue streams aren't decimated by free-and-fast Whatsapp.

<comment><USER33> Google needs a messenger + profile play. Snapchat can add profiles (if they don't have one already).

</comment></comment></comment><comment><USER34> Well, SNAP is currently trading for $15 billion. If they can get $20 to $22.5 billion for the company right now in an acquisition by eg Google, they should immediately take it.

Twitter is the picture of where they're going, best case scenario (the difference in risk of course being, Instagram isn't a serious threat to Twitter's existence). Twitter has four times the sales (annualized run-rate), more cash, a lower quarterly burn rate (now), with 23% less market cap.

<comment><USER35> Well i think you have never used snapchat. Everyone in this thread are not all accounted in the TAM for snapchat. Before concluding that they should sell or not, i recommend people to use snapchat for six months. Snapchat is a product which provides delightful experiences to communicate with your friends where you can express yourself as the way you are, instead of waiting for a trophy moment.

Well, SNAP DAP > TWTR DAP, TWTR Average time spent per day: 1-2 minutes SNAP Average time spent per day: 30-35 minutes. So SNAP has 30X potential than dead twitter with no product innovation.

<comment><USER36> "can express yourself as the way you are, instead of waiting for a trophy moment"

And then someone takes a screenshot and "blackmails" you with it later (read this concept of snap-blackmailing somewhere else just today)

</comment></comment></comment><comment><USER37> Yeah, and Google also reportedly offered to buy Groupon for $7 billion, a year before it went public. Not sure what kind of consolation that gives to shareholders now...

<comment><USER38> Hah agreed. I bet it wouldn't pass DD tho. SEC was not stoked about the way they booked revenue considering the % that went right out the door to coupon vendors.

</comment></comment><comment><USER39> Does Google _really_ need another messaging app?

</comment><comment><USER40> Yea, people said the same thing about Digg. TBH Google is probably interested in buying anything remotely social. Digg had the reason of not accepting their corporate "culture". Either that or Google figures out that they just have to wait and hire the CEO once the company fails (this happened to Digg).

</comment><comment><USER41> Do kids still use Snapchat?

<comment><USER42> Disclaimer: I have a small amount of Snapchat shares.

Every time I interact with any sub-21 year old person, I ask them 2 questions:

1.What's the most popular social network among your group of friends? I'd estimate 7-9/10 say Snapchat. If it is Snapchat, I proceed with question 2.

2.Do you read/interact with the "Discover" section of Snapchat? (Because this is where I think Snapchat has the most potential to actually make money.) I'd say 5-7/10 say Yes.

In short, yes, kids still use Snapchat.

<comment><USER43> > Every time I interact with any sub-21 year old person, I ask them 2 > questions

You sound like a fun person - JK. But among my conservative, Midwestern sub-21 family and acquaintances, the answer _was_ surging to Snapchat around Christmas. Then they moved lifestyle posts to Instagram, and moved communication/socializing back to Facebook. Also, they don't often interact intentionally with the Discover section.

</comment></comment></comment><comment><USER44> Looking at Snap's condition right now, and how Instagram is routing it, they made a smart decision not buying it for that ridiculous amount of money.

</comment><comment><USER45> Good, now, they can buy it with 50% discount. What a steal!

</comment><comment><USER46> It's not just farfetched, it also doesn't really add up or make any sense.

<comment><USER2> Care to elaborate?</comment></comment>


CrowdFlower Launches Open Data Project - <AUTHOR> http://techcrunch.com/2015/03/03/crowdflower-data-for-everyone/

<comment><USER2> This is interesting, but a few concerns are nagging me:

1) There's been some research about the demographics of crowdworkers [1] that questions whether it's a representative sample of any particular population, and I wouldn't immediately concede that conclusions drawn from these survey results are externally valid.

2) There's at least a little controversy around how well (or rather, poorly) crowdworkers are paid and treated, with workers on Amazon's Mechanical Turk going as far as crowdsourcing a set of guidelines for academic requesters to right some pretty egregious wrongs that have happened in the past few years (disclosure: I was involved in the research [2] that facilitated those guidelines).

I wouldn't necessarily forsake this data or anything learned from it, but these concerns make me wary to use it myself very readily.

Does anyone else have concerns? Am I just being hyper-vigilant because this is a personal research interest? I'm open to accusations that I'm biased, at least in this case :P

[1]: Ross, Joel, et al. "Who are the crowdworkers?: shifting demographics in mechanical turk." CHI'10 extended abstracts on Human factors in computing systems. ACM, 2010.

[2]: publication/citation forthcoming; for now, a link is easier -> [https://ali-alkhatib.com/media/papers/pn2032-paper.pdf](https://ali- alkhatib.com/media/papers/pn2032-paper.pdf)</comment>


Do you want a HN Pool? - <AUTHOR>

I am the founder/CEO of a site called At The Pool.  If you don't know us, we had some nice press yesterday (pasted below).  I've been lurking on HN for 2+ years and friends have been telling me to make this post.. so here I am.
Anyway, we create pools around communities to help facilitate introductions and to help you meet new (awesome) people.  Today we have members in over 60 countries and our matching algorithm employes location, interests, experiences, and a slew of other factors to make introductions that we think you'll appreciate.
We can create a HN Pool if you think there's any interest in being introduced to one new HN member each day based on location and common interests.  I've often thought this is something I would like.. but maybe I'm weird?  Let me know if this is something you'd want to try out.
-- Press from yesterday --
TechCrunch: http://techcrunch.com/2012/11/27/social-discovery-platform-at-the-pool-emerges-from-beta-with-funding-a-redesign-users-in-50-countries/
PandoDaily: http://pandodaily.com/2012/11/27/digital-yenta-at-the-pool-snags-750k-launches-redesign-to-create-offline-friendships/
VentureBeat: http://venturebeat.com/2012/11/27/at-the-pool-helps-people-make-new-friends-keeping-the-old-is-up-to-you/ <comment><USER2> Love Alex, atthepool, YC and HN. Great idea to combine HN and atthepool. Go ATP!

</comment><comment><USER3> I'm new to HN, and have been using At the Pool for quite a while now. The two communities appear have a similar goal of fostering meaningful, interesting discussion -- so a HN pool seems like a perfect fit to me!</comment>


Price war Amazon launches 69-cent MP3 store for top-selling tunes - <AUTHOR> http://latimesblogs.latimes.com/music_blog/2011/04/price-war-amazon-launches-69-cent-mp3-store-for-top-selling-tunes.html

<comment><USER2> Seems to me that iTunes captured the market because of the amazing integration with music devices and not the price point. Until someone beats them at that, I think things will continue as they are.

I'm not an Apple fanboy by any means, but nobody else has produced a device that makes it so easy to find, buy, and listen to music on the go.

Amazon's Cloud Player is a good start, since it eliminates having to load the music on to the device, but the player still needs some polish.

<comment><USER3> I buy music almost exclusively through Amazon now solely because of the DRM nonsense iTunes puts on its files. I have several albums that, when I try to play them on my media computer through iTunes home sharing, gives me the "This album is not authorized to play on this computer. Please deactivate one of your authorized computers to add it to this one." Problem is, that 2 of the authorized computers are in the scrap heap now, and the other ones I still use.

Whatever convenience buying music directly through my iPhone would offer is more than canceled out by this inconvenience. I'll admit that I'm not the kind of music consumer that buys single mp3s though — full album or nothing for me — so I'm biased in that way.

<comment><USER4> Apple no longer applies DRM at all in their music store.

It still does in the video store though.

<comment><USER5> I would buy way, WAY more iTunes video if I could re-compress the video to any format I want, and share it with friends. (I realize that the latter is highly undesirable to content holders, but video has always been highly social among my friends, with frequent sharing of DVDs and such.)

</comment></comment></comment></comment><comment><USER6> It's about time.

Now let's see the same trend in eBook pricing. Completely inflated for the moment.

<comment><USER7> Tough for them to do anything about that because of agency pricing imposed by all the major publishers (even Random House recently got on board). Not sure why that's not collusion, but there you go.

Separately, with free cloud locker storage and now lower prices, should anyone be buying songs from iTunes anymore?

<comment><USER6> Yeah, let the authors sidestep the publishers as time goes on. They'll incur less overhead (dozens of unnecessary salaries that don't exist), keep more money and sell their product cheaper. The publishers will have to fall into line and sell the product at a price more in line with its value.

<comment><USER8> I think you're ignoring the fact that there's much more to publishers than just printing a physical copy of a book and shipping it to shelves. There's marketing, editing, screening, etc. Think what looking for books would be like if there was no quality screening or editing and you had to wade through an online catalog of thousands of books of crap just to have the off chance of happening to see a quality book.

<comment><USER6> Oh, sure, that's a valuable service. But it's definitely one that's bloated by way more salaries in the current model than are really needed.

Moreover, this is the internet age. People develop direct relationships with people who write things they like. You don't need a publisher to tell you that you'll want to read, say, Paul Graham's book.

</comment></comment></comment></comment></comment><comment><USER9> I think both are losing out to the subscription services and streaming. They should consider buying up one of these companies that offer huge selection for a low price each month.

</comment><comment><USER10> I wonder why they settled on '69'.</comment>


Ask HN: Can i sell my MVP  with nice domain, and which can be valuation of it? - <AUTHOR> It's good opportiunity to create grand company. Main competitors is Reddit, Tumblr, 9GAG, Imgur.
 This MVP have a lot of problem but i can explain how to make all beauty.
 Why i am selling it ---- because don't have enough money to give him grow. Or i can enter as a partner and proceeded to make him perfect.
https://cheerex.com/
Thanks. <comment><USER2> Of course you can sell it. But talking it up won't make the valuation increase. Anyone can talk about the potential a site may have... but you need to show actual traffic, retention, and revenue if you want it to have value.

</comment><comment><USER3> If it was that easy to install an open source framework and change it very little - screenshots from LiveStreet show very little distance - and try and sell it then I think anyone would do it for a few quid.

</comment><comment><USER4> So you just want to be an advisor and explain how to make a product grow without doing the work to do it? Sounds like a dream job.

<comment><AUTHOR> ahah....no, i am willing to work as well, if i find someone who want to buy this or join like investor.

</comment></comment><comment><USER5> nice vk.com clone script

but what exactly is the value in something like that

i also don't understand what's special about this domain

<comment><AUTHOR> the name is special, something new.....Not like others.....I just wrote that this site will be like Reddit, Tumblr, with elements of social networks.

</comment></comment><comment><USER6> Are you using any outside vendors like auth0 or anything?

<comment><AUTHOR> nope )

</comment></comment><comment><USER6> what tech stack?

<comment><USER7> From what I can tell it is PHP and jQuery. Not sure if it is a PHP framework or just straight PHP

<comment><USER3> Wappalyzer shows LiveStreet CMS which is itself a social network framework from Russia - so not sure how much of a product or service it actually is.</comment></comment></comment>


BootstrapCDN Pulse - <AUTHOR> http://www.bootstrapcdn.com/pulse.html <comment><USER2> Off topic -- Has anyone posted an example of how to create these "usage maps"? Essentially a world map with weighted pins. Seems like a really cool idea. Technically speaking, I know how this is done, but are there working examples of how to easily create something like this without starting from scratch.

<comment><USER3> <http://bl.ocks.org/mbostock/4342045> is a great example of doing this with D3.js

<comment><USER2> Cool, thanks!</comment></comment></comment>


Hacking tool swipes encrypted credentials from password manager KeePass - <AUTHOR> http://arstechnica.com/security/2015/11/hacking-tool-swipes-encrypted-credentials-from-password-manager/ <comment><USER2> > Hackers and professional penetration testers can run it on computers that > they have already taken control of. When it runs on a computer where a > logged in user has the KeePass database unlocked, KeeFarce decrypts the > entire database and writes it to a file that the hacker can easily access.

Assumes you have access to the box already, and extracts the credentials from memory. Just in case anyone was worried that the KeePass file format had been cracked.</comment>


Ask HN: Do Transpeople Need Their Own Y Combinator? - <AUTHOR>

My pitch to YC this round was TCombinator. It`s my first try. TCombinator is YCombinator for transgender founders, with more hand holding, proactive recruiting, and a social good focus. The pain point it solves is that transpeople can find it hard to find work sometimes. It operates on the theory that companies founded by transpeople will hire transpeople in a population proportionate way. It depends on the hypothesis that their exists, in the difference between their proportion of the population and their representation in the set of startup owners, some worthy transgender entrepreneurs with the potential to change everything. TCombinator is needed because YCombinatorexists, and there are no transgender founders blogging about how they were selected in a past round, and my cofounder and I are to only two I know of that applied this round. Theiris no role model or example to hear about to inspire people like me to participate in this startup world. I have other ideas I could have pitched at Transtartup.blogspot.com, and if I had just applied as a ciswoman with the best one and not mentioned my transgenderism or made it a focus of my pitch, I may have been accepted; but my story wouldn't do as much good to the transpeople that read about it, even if I'm not, and the story is just this AskHN post.
To those transpeople that make it this far: I am an escort, and adultfilm actressin Richmond,VA. I wasa software consultant for TCSC before being laid off in October 2010 for being unable to perform the duties I was hired to perform based on "conversations, observations, and joint work". It happened before I could come out as transgender to them, but after people had to have noticed my appearance changing. I've been telling recruiters up front ever since, and it seems like it makes them lose interest in me as a candidate. It's been a hard 17 months since getting my head above water to where I am able to start hacking again, so I intend to hack what almost drowned me. I`ve starved. I`vethought about suicide. If I can try to make things better for us, coming from where I'm coming from at this very moment, please; just try with me. Apply by emailing firstname.lastname@example.com and read more atTCombinator.blogspot.com.
Goodnight World!
AskHN: Do Transpeople Need Their Own YCombinator? <comment><USER2> I'm sorry to hear about your troubles. It seems obvious to me that you need to talk about software, not your personal life, when you apply for YC and talk to recruiters. Everyone is different in some way and almost nobody is interested in hearing about it. It has nothing to do with activism.

</comment><comment><USER3> If you would like to be treated like everyone else, why make an effort to start a group that separates you?

I would not have any problem working with (or for) someone who is transgender.

<comment><AUTHOR> And if by treated like everyone else, you mean we want to be treated like men that are expected to behave like men or face fear of being fired, or like women that are expected to be nice about it when they get objectified, because that's how everyone else is treated, then no, we don't want an unethical system to accept us. We want everyone to be treated ethically, and fixing things for the nth, most fringe case, fixes things for the less fringe, n-1,n-2,n-3... cases.</comment></comment>


Detecting Parkinson's disease in hand drawn geometric images with Python - <AUTHOR> https://www.pyimagesearch.com/2019/04/29/detecting-parkinsons-disease-with-opencv-computer-vision-and-the-spiral-wave-test/ <comment><USER2> I have a generalised tremor and I wonder if this differentiates between parkinsons and generalised tremors. I think the pen pressure may be the differentiating factor. While I'm quite heavy handed in my penmanship, I don't think I'm quite so heavy handed as some of those examples

<comment><AUTHOR> It could very well be. It's hard to say without seeing shapes that you have drawn as well.</comment></comment>


Twisted.web vs Tornado Performance, part deux - <AUTHOR> http://www.apparatusproject.org/blog/2009/09/twisted-web-vs-tornado-part-deux/ <comment><USER2> I question the relevance of these tests. With all the attention being given to performance, everyone seems to be overlooking the fact that Tornado provides _zero_ support for truly asynchronous web applications written for it.

If you have _any_ kind of long-running task to perform during a web request, you have to roll your own way of dealing with that task.

To make it worse, the demos included with tornado that make use of a relational database do all their queries in blocking fashion, which would render the server completely unusable during the runtime of every single query.

Given the fact that Twisted provides a robust API for dealing with long- running algorithms, as well as support for a huge number of other protocols, you're paying an awful lot for only slightly better performance.

In fact, in a real-world application, the performance benefit of Tornado is directly impacted by how good you are at dealing with asynchronicity.

<comment><AUTHOR> I think your point is really valid, though I think the relevancy of the tests were to test the claims made by Bret from tornado.

Glyph made a really good point, tornado comes with zero automated tests... Ultimately after conducting these tests and listening to the discussion that has taken place, I am personally glad that we're writing our code with twisted.web

<comment><USER3> What are you writing with twisted.web?

<comment><AUTHOR> Stay tuned :) !!!

<comment><USER3> I will. Ping me if you get a moment.

</comment></comment></comment></comment></comment><comment><USER4> Summary:

      * Mean response time -- Twisted.Web better than Tornado

Average performances for Concurrent request:

      * @100  -- TW:Tor::0.50s:0.70s . TW better than Tor
      * @500  -- TW:TOr::   3s:3.5s  . TW slightly better than Tor
      * @1000 -- TW:Tor:: 5s:6.5s    . TW better than Tor

<comment><USER5> Executive summary:

Ignore this "benchmark", the author simply doesn't have a remote clue what he is doing.

500ms Mean Response Time at 100 concurrent requests, are you kidding? Did you run the "benchmark" over a 56k modem?

For the record, one would expect sub-100ms response times under that load, even on modest hardware.

<comment><AUTHOR> wow...

The test was run on two VMs on the Rackspace cloud using the public IP addresses.

</comment></comment></comment><comment><USER6> I still don't understand all of the fuss. These two are close enough in performance to where people should pick the framework that best serves their needs, their designs, and their brains.

Big deal -- there are now two ways (at least) to accomplish the same outcome in Python. Competition is good. I'm guessing that this will be a call to arms for the Twisted community and we'll see development accelerate.

At the same time, it is likely that a development community will form around Tornado. Great!

It's like people saying, when the Mac OS first launched, "Why didn't they just use DOS --it's there and it works." And yet the Mac OS has had a positive impact on operating systems produced by Microsoft. And Microsoft has impacted the Mac OS. It's all good.

And why is it that this same argument doesn't occur every time a non-async framework appears for python or other languages? What is it about the async nature that polarizes people? Maybe it's the fact that the both also start with the letter "T" and the name "Tornado" is a better named than "Twisted" (which implies increased complexity even if it isn't there...of course Tornados ultimately make a mess of things, so that's not it).

I, personally, am excited about Tornado. I think there's room for more than one player -- especially given the 'real time' direction the web is heading. And if this negatively impacts Twisted, then it'll be because Tornado has come up with an easier to understand approach and they'll benefit from being new and easy to grok -- in the same way Rails was once an easy-to-grok framework and that's what made it easy to understand.

The biggest winner, in my opinion, is the Python community and who doesn't want that?

</comment><comment><USER7> I don't think these tests are much more meaningful than the first.

They still use virtual machines, which give you all kinds of invisible overhead.

Even if that were not the case you should definitely split the machine that does the tests off from the machine that is being tested otherwise you get contention between the test program and the programs being tested (and java being quite cpu intensive running both tests on the same physical box is not a good idea).

<comment><USER8> Given how common it is for production applications to be running in the cloud, this test is both valid and useful. Therefore these tests are much more meaningful than the first.

<comment><USER7> I disagree. If you run a test on a virtual machine then you are testing a lot of other software besides the software under test so the picture gets distorted.

For instance, in the graphs that are in the report you can see a bunch of drops to '0' traffic, these suggest serious problems with the software under test. But knowing that the tests were done in a VM environment it is possible that the cause of these drops is not in the software under test but with the VM, or alternatively, with other software running on the host the VM is running on.

That makes it very difficult to assign meaning to all this.

If you test software you do it in an environment that controls all the variables as much as possible otherwise the results will not help you in making decisions.

If people run software 'in the cloud' then that's a different story altogether, then you test the same software side-by-side on your bare machine vs your 'in the cloud' setup and you benchmark those.

This test is labelled 'twister vs tornado', not 'twister in the cloud' vs 'tornado in the cloud'.

<comment><USER8> If the tests were all over the map, I could agree with your original statement. But they are not. They are consistent.

Do you honestly expect anyone to believe that when test after test is run on a VM, and one framework consistently outperforms another, that this is due to the VM, and not the frameworks themselves?

<comment><USER7> I'm more concerned with the drops to 0 and the overall throughput. The drops to 0 look quite bad, overall throughput is low compared to what I would expect from a setup like this.

</comment></comment></comment></comment></comment><comment><USER9> I guess i will never understand why they didn't choose twisted and finally gave it the revamped twisted.web it needs.. I have yet to see a more featurecomplete internet framework with which i can do practically everything the internet is about, with so much flexibility and yet it is suffering from the state of twisted.web. Aynchronous database access, http, pop3,imap,smtp, amqp, irc, msn and about every protocol out there can be so easily integrated in twisted, it amazes me everytime. Sad, that this framework isn't used more widely, it could rule the web.

</comment><comment><USER10> Innocently daft question coming up:

As I understand, you can run web.py apps behind lighttpd, and the web server handles the processes. E.g. in lighttpd.cfg you can set {"max-procs" => 4} and I would see 4 instances of my web.py script running. But how is this done for a web-server done 100% in python? Python uses a GIL that only allows one thread to interpret bytecode at a time, so despite the amazing performance of Twisted and Tornado, wouldn't we see this seriously degrade when the server had to anything more than 'hello world'? My worry is having a Twisted/Tornado app and only using 1/4th of my availble processing power: am I wrong to do so?

<comment><USER11> That applies to threading.

Twisted and Tornado are epoll/kqueue/etc-based and do not use threads.

Here's a good article on the differences between strategies: <http://www.kegel.com/c10k.html>

<comment><USER10> Great article, thankyou!

</comment></comment></comment><comment><USER12> These tests are completely useless, since most of the measurements are done at a point where response time has already degraded unacceptably. I don't need a web server that performs slightly better when massively overloaded.

The sweet spot to measure is between a response time of 0s to 1s. After that, you need to be looking at getting more servers, anyways.

A better benchmark would start by swapping the axes of the graph and asking the question: "how many users can I support while keeping response time acceptably low?"

</comment><comment><USER13> I would really like to see Twisted vs Tornado Documentation. The performances are close enough that I don't think it should be a deciding factor in which of these to use. Albeit performace is always an important metric that should be watched to keep things from getting worse.

<comment><USER9> In fact, all those comparisons compare two totally different frameworks. One is for the internet (which really includes far more then http) and one is for the web (which mostsly includes http).</comment></comment>


What does being a New York Times Bestseller mean? - <AUTHOR> http://www.hopesandfears.com/hopes/culture/what-is-this/215277-new-york-times-bestseller <comment><USER2> Another article compares NYT methodology with other compilations: [http://fourhourworkweek.com/2012/08/17/amazon- monthly-100/](http://fourhourworkweek.com/2012/08/17/amazon-monthly-100/)

</comment><comment><USER3> There is an attorney here in Orlando that will get you on the list for a fee. It's pretty gross.

<comment><USER4> I've read there are several services that will do this for less than $100K, plus you can get all the books they bought at the appropriate stores. Suspect this when a book is on the list for only one week.

</comment></comment><comment><USER5> (2012)</comment>


Unicode is Kind of Insane - <AUTHOR> http://www.benfrederickson.com/unicode-insanity/ <comment><USER2> One of the things I hate the most about Unicode is the CJK unified ideographs. While the Unicode consortium are happy with mapping all those ridiculous emojis in Unicode, they refuse to separate letters of distinct languages. Now, people have a harder time configuring fonts so that Japanese texts don't look Chinese.

<comment><USER3> sounds like something designed without consulting the CJK users...

</comment></comment><comment><USER4> RNNs wouldn't fall for confusables... ;)

The venerable Perl 5 and its ecosystem has long aimed at Unicode compliance with acceptable performance and is one of the best toolkits available in 2015.

Perl 6 aims to outdo Perl 5 (and other langs) by making Unicode as simple as it can be while retaining acceptable performance and correctness. A simple example is that the "character" abstraction is an extended grapheme cluster yet strings can remain compact if they can be (for good RAM performance) and indexing in to strings that aren't compact is an O(1) operation (unlike, say, the quadratic slowdowns with Swift).

Is there something that might entice you to make a few visits to the freenode IRC channel #perl6 [1] to chat about making the long term Unicode roadmap for Perl 6 be the best it can be?

[1] [https://kiwiirc.com/client/irc.freenode.net/perl6](https://kiwiirc.com/client/irc.freenode.net/perl6)

</comment><comment><USER5> Or actually, it's really kind of amazing.

<comment><AUTHOR> Its amazing and insane =). I was trying to highlight the complexities behind something that many people people naively think is simple - I probably should have made the clearer based on the reaction elsewhere though

</comment></comment><comment><USER6> the unicode consortium addresses this: [http://unicode.org/reports/tr39/#Confusable_Detection](http://unicode.org/reports/tr39/#Confusable_Detection)

edit: a quick search found implementations of the described algorithms in c++ (ICU library) and perl (Unicode::Security).</comment>


Ask HN: Beginner pointers on SAT solvers? - <AUTHOR>

I just got started on writing a SAT solver (https://github.com/rjmacready/sat-solver) (this is not working ATM) and while I've been finding some resources, I feel like I'm missing something … does anyone have some beginner pointers on SAT solver implementation? I was looking for something like pseudocode, algorithm visualization (like this http://www.cs.usfca.edu/~galles/visualization/Algorithms.html, for instance), anything.<p>Also if anyone knows about how can they be applied in a compiler (typesystem, optimization, …), feedback is also welcomed. <comment><USER2> Minisat is designed to elucidate; consider reading the paper and implementation - it's actually a very fast solver.

As to compilers: one interesting idea is the "superoptimizer". In its basic form, try all byte sequences and use a solver to filter out the ones that do what you want when executed; then pick the fastest. Regehr has an interesting blog post on this topic.

<comment><AUTHOR> Minisat is definitely on my read list; I'll probably need to read it 2/3 times to fully appreciate it's content. Thanks for the "superoptimizer" pointer, I'll explore that.</comment></comment>


Using Programming Language Concepts to Teach General Thinking Skills (2008) [pdf] - <AUTHOR> https://people.csail.mit.edu/rinard/paper/wowcs08.pdf <comment><USER3> While I think programming can be a good way to teach general thinking skills like perspective, clarity, precision, and abstraction, I'm dubious about the claim that it is the best way to do so (§2.1).

Perspective - does learning multiple programming languages engender more awareness of different perspectives than say, learning multiple foreign natural languages?

Abstraction - does learning programming languages develop better use of conceptual abstraction than say, mathematics?

Precision and clarity - does learning programming languages develop better precision and clarity than studying philosophy and logic?

These are all empirical questions and no empiric data is provided. The lack of support in the argument for the conclusion given also hints that maybe learning programming isn't _the best_ way to learn clarity & precision after all.

Where I thinking learning to program stands out as superior is that it teaches a skill that is currently in high demand - programming.

<comment><USER4> It is difficult to gather empirical data on human behavior and efficiency, so I wouldn't ding Rinard points for that (as a systems PL researcher from MIT, he surely knows how to measure numbers). You'll find the lack of useful empirical data for most any pedagogic technique (what we can measure is performance in simple tasks, by this doesn't scale up).

Math and philosophy are hella abstract, while learning through programming at least has the learner building something concrete that can be more gratifying. When maintaining the student's interest is much of the battle, it might not matter as programming is not better than the other approaches, it only needs to be good enough.

<comment><USER5> "[…] Students can work with them in an interactive setting that provides immediate feedback and requires completely precise thinking." \--

Math and philosophy provide the latter but not the former. I guess the tight feedback loop programming provides guides us by reducing the solution space.

</comment></comment></comment><comment><USER6> I don't know. I think general thinking skills are a pre requisite to understanding programming.

I've seen many people try hard to learn programming but fail miserably no matter how much they try.

<comment><USER7> Agreed. Furthermore, if programming can be a good way to teach general thinking skills like perspective, clarity, precision, and abstraction, why is there so much code lacking these properties?

I am particularly skeptical of the author's suggestion that developing a domain-specific language would be one of the ways to teach general thinking skills through programming. Absent an example to prove me wrong, I would think that writing a DSL is so laden with task-specific minutiae that those parts of the job that extend general thinking skills would be highly diluted.

On the other hand, I think programming helps with one thing: programs are, in some sense, half-way between the physical world of discrete objects, and the abstract world of words and symbols. I have seen it suggested (but I cannot find the reference) that all abstract reasoning developed from an ability to mentally model the physical world. If so, then programming may be a stepping- stone from the latter to the former (though only if it is taught as such; most programming instruction makes programming the goal, not a waypoint (which is not surprising))

<comment><USER8> I may be misreading the article, but the author doesn't suggest having the students write a DSL, but using DSLs with students so that they can focus on the specific problem domain. Think things like (classically) Logo, or recently Scratch.

<comment><USER7> I believe that approach is also mentioned, but I was referring to section 5, "Potential Teaching Approaches", and specifically 5.1, "Domain Specific Language": "This approach would organize the course around designing and implementing a language for computations in a particular domain."

</comment></comment></comment></comment><comment><USER9> I'm Dutch, and in the Netherlands, for a certain level of high school, Latin and Greek are required.

Learning Latin, and its framework (grammar) has been very helpful to me in improving my German, Italian, French and Portuguese (I like languages). However: it's important to have a solid grasp on one (mother tongue) language.

If you look at LearnXinY, you can see a lot of semantic parallels between most programming languages.

I've been developing web apps since 1996 (Perl > ColdFusion > PHP and mainly Ruby/Rails these days) and found that, intuitively, it's not so much the programming language itself, but rather the act of programming itself that helps me think more clearly.

</comment><comment> jarek-foksa When programming you learn practical ways to distinguish between good and bad abstractions. A good abstraction should make it easier to reason about given problem and make you more efficient. A bad abstraction complicates the problem or even makes it impossible to solve because of the assumptions imposed by the abstract system.

The skill to tell apart working vs non-working abstraction is useful in real life. For example to distinguish a religion from a cult, you don't study the bible or some other holy book, instead you look how that abstract believe system has been working so far, e.g. by checking how many generations have been successfully raised with it and how much progress they made.

You also learn that almost every programming abstraction is leaky to some extent. You are very likely going to run into edge cases where the abstraction needs to be adjusted or replaced with a lower level one in order to get things done. Again, using the religion analogy, sticking to the dogma that the Earth is 6000 years old is going to make it impossible to reason about e.g. the theory of evolution.

<comment><USER10> > For example to distinguish a religion from a cult, you don't study the bible > or some other holy book, instead you look how that abstract believe system > has been working so far, e.g. by checking how many generations have been > successfully raised with it and how much progress they made.

Note - I am not an expert in any of this, but that said:

"In a cult there is a person at the top who knows it's a scam. In religion that person is dead." - <USER2>

Examples:

Mormonism - started by a known documented and convicted con artist

Scientology - started (apocryphally) because of a bet

Both of these new religions, both started within the last 200 years (1830 for Mormonism, 1954 for Scientology), the former having in common only certain general themes with Christianity, and then ret-conning new material in to complete the "history", and the latter making up everything out of whole, bad sci-fi cloth.

One could easily argue that all religions started out as cults; certainly what we know of the historical parts of Christianity makes it a likely candidate. Likely only the very earliest naturalism-based quasi-religions lost to pre- history are among the only ones which could honestly count as "pure".

Not that any of them have led to honest understanding of the world (I will allow for philosophical introspection and discussion, which definitely and ultimately led to our current scientific methods, though those methods too were influenced and pre-empted by earlier non-religious philosophical methods, particularly those by the early Greek societies).

Again - these are my (perhaps flawed) understandings, though I am open to learning more, even if that new knowledge contradicts what I already know...

<comment> jarek-foksa An abstraction layer can be still useful even though its core assumptions don't reflect the reality and could be easily disproven by a scientific experiment. Take classical physics for example.

Just to be clear, I was not defending any religious system here, I just meant it's easier to judge their usefulness based on a practical basis because of their complexity.

</comment></comment></comment><comment><USER11> Factorio does an amazing job teaching programming concepts without even noticing.

</comment><comment><USER12> Programming def helped me understand exactly what focus means - making sure all details are intentional.

</comment><comment><USER13> General writing skills teaches thinking skills. We already have DSLs for humans to communicate human ideas.</comment>


"Among this year's worst news, for me, was the death of Bobby Fischer." - Dick Cavett - <AUTHOR> http://cavett.blogs.nytimes.com/2008/02/08/was-it-only-a-game/

<comment><USER2> The article is marvelous - uncommonly literate and wistful. The video is also a must for anyone interested in Fischer. I'd never seen him, or Cavett that I remember, and the interaction between the two is riveting. There's an atmosphere of tension that Cavett manages expertly. He senses right away when a particular direction is getting stuck and gracefully diverts attention to something else. He acts as a buffer between Fischer and the audience when the audience gets nervous and starts to laugh. And he senses when the connection between the two of them is robust enough to tolerate raising some pretty charged material, such as Fischer's accusations of cheating and walking out of matches. This is a dialogue between two masters of very different arts.

<comment><USER3> Yeah, I was totally dumbstruck by how well this article is written. It's one of those rare NYT gems.

It's nice to read something that puts Fischer in a somewhat positive light, considering how much negative press there was around his death.

</comment></comment><comment><USER4> "I like the moment when I break a man's ego."

</comment><comment><USER5> That video really highlights the change he went through. I can completely understand how saddened Dick must have been to watch the young genius he admired fall so far.

So tragic.

</comment><comment><USER6> Fischer has a classic dumb jock, grunting-style laugh. huh huh huh. First rate chess player, but second rate anti-semite, really. C'mon--at least the latter would have had some real effect on the world. Kind of sad to watch a supergenius throw away his (almost) 200 point IQ on a trivial game and a political faux pas. It's the separation between one degree of mental illness and another, I guess.

Legend has it that Dick Cavett is full of "wonderful stories about other famous people that include him in some way"

<comment><USER7> Look, you're going to be having dinner with Groucho tonight if you don't beat it!</comment></comment>