How Fuhu went bankrupt - <AUTHOR> http://www.latimes.com/business/technology/la-fi-tn-fuhu-bankruptcy-20160824-snap-story.html <comment><USER2> Fun related tidbit: Fuhu beat PortableApps.com out on a software deal to distribute a package of portable Windows software on millions of flash drives despite having no apparent experience in that area. The software package that wound up bundled on the drives included software I wrote for PortableApps.com distributed in violation of the GPL with my name and copyright stripped off the binaries, documentation, and (reluctantly-provided) code.

I found it especially ironic when Fuhu later sued Toys R Us for launching a competing tablet in 2012: [http://www.zdnet.com/article/why-fuhu-maker-of-the- kids-tabl...](http://www.zdnet.com/article/why-fuhu-maker-of-the-kids-tablet- nabi-is-suing-toys-r-us/)

Relevant ironic section:

Mitchell said he decided to go ahead with a lawsuit in part because of what his two young daughters said after they found out about the Tabeo launch.

"They said, 'Dad, they're copying you. Isn't that wrong?' And I said, 'Yes, I do think they are copying me,'" he said. "We just felt we had to take a stand on this."

<comment><USER3> Just curious, why didn't you sue for the GPL violation? Seems like a slam dunk.

<comment><USER2> Law doesn't really work for the little guy, sadly. It's next to impossible to get a lawyer to take on a case like that when you don't have a ton of money to pay them up front (like if you were bootstrapping a big open source project yourself and trying to make a commercial go of it). I know, I asked a bunch of them. There's a reason the vast majority of GPL violations go unpunished.

<comment><USER4> For GPL software? You just ask the EFF or FSF.

They like to destroy idiotic companies.

<comment><USER2> The FSF only goes after folks that violate software they own the copyright on. The EFF and SFLC only help non-profits and only in very specific circumstances.

<comment><USER4> FSF will ask you to assign copyright to them in those cases.

</comment></comment></comment></comment></comment></comment><comment><USER5> > His [Rob Fujioka's] micromanagement — closely monitoring, for instance, > details as small as packaging labels and the waist size of animated > characters — represented an asset as Fuhu tried to find its footing.

Wonder if he imagines himself to be Steve Jobs. "Well he woke people up at 4am asking them to change font kerning. Clearly that is the sign of a good leader. I should do that too".

> Technologists at the company didn't get solid answers to why tablets began > requiring proprietary cables. Thorough vetting occurred, and Apple's > strategy of proprietary accessories inspired its own, Fuhu said.

Ah yes. Apple did it, so we should do it too. We are just like Apple.

There is another thread on the front page about signs of failed startups -- wanting to be like Steve Jobs and like Apple and just copying superficial behaviors from them is a sign of a failed startup.

<comment><USER6> I suspect that a lot of founders forget that, at Apple, employees were part of a technological revolution that they could see around them every day, a revolution whose success was borne out by the company itself being incredibly successful in terms of both cashflow and market share.

People can be motivated by being part of something greater than themselves, but making a tablet for kids is far too small to fit that billing.

Even if you squint and look at it sideways, you know in you heart of hearts that you are doing something evolutionary, not revolutionary.

You can only act like Steve Jobs if you are _actually_ changing the world, and even then, it's not really a great idea.

Being kind to people, and delivering at a sustainable pace, are a much stronger guarantees of success than randomly waking up underlings at 4am because you wanted a font adjusted.

<comment><USER7> Don't forget also that Steve Jobs got booted out of Apple.

</comment></comment></comment><comment><USER8> Wow, the Glassdoor reviews for this place are brutal:

[https://www.glassdoor.com/Overview/Working-at-Fuhu- EI_IE3609...](https://www.glassdoor.com/Overview/Working-at-Fuhu- EI_IE360968.11,15.htm#trends-overallRating)

2.2 stars overall. 41% CEO approval. Only 23% would recommend to a friend.

Even reptiles should recognize that an unhappy staff adds drastically to turnover, recruiting costs, and organizational turmoil. While reducing the quality, effectiveness, and creativity of the output. And human beings might consider treating staff well just because they're fellow human beings.

<comment><USER9> The first giant warning sign is family running the business. The only time I've ever seen that work out well is Mattermark (nb: I don't work there, but heard it's a good place). I have seen it work terribly at multiple places.

The next trick is to just write all the glassdoor reviews yourself. See, eg, healthtap.

<comment><USER10> There's a tendency I've seen with family run businesses to also have issues with executives treating the company like a piggy bank, where suddenly there is no payroll. From my experience you're more likely to be treated as a member of their dysfunctional family than a professional in some of the places I've dealt with in the past.

<comment><USER11> Yep. Happened to me. They bought the sales guy (owner's daughter's boyfriend) a Porsche while cutting hours for the engineers. I bounced outta there before the next pay period. Last I heard they took away the 401k but are still having the company summer picnic at the owner's Polo Club. Screw that place.

</comment></comment></comment></comment><comment><USER12> Seems to be the age old story of: Some quirky personality traits are beneficial to building a business, and some can be downright detrimental.

I am surprised that the board or other stakeholders didn't see it coming a lot earlier. Nothing more bemusing than a maker of children's devices that doesn't allow 'play' within the company culture. It's like a brewery that expects all its employees to be teetotallers...

</comment><comment><USER13> Yet the bankruptcy report [1] indicates that retailers wanted the product and customers were buying it. The problem was on the manufacturing and fulfillment side. Fuhu had problems with Foxconn, problems so bad that Foxconn dumped them as a customer. Fuhu owes Foxconn $61 million.

That's not an in-house culture problem. That's more of a cash management problem. Were they selling at a loss to build market share?

[1] [http://www.latimes.com/business/la-fi-1208-fuhu- mattel-20151...](http://www.latimes.com/business/la-fi-1208-fuhu- mattel-20151208-story.html)

<comment><USER14> Their 2014 Christmas stock apparently arrived late due to a Foxconn screw-up, meaning that Christmas shoppers couldn't buy it and they were left with a bunch of excess stock and a shortage of cash. I can easily see that alone being enough to mortally wound them; they probably do a large chunk of their business over Christmas. The deep sales seem to be a last-ditch desperation measure in response to that.

</comment></comment><comment><USER15> "With a parking lot overflowing with exotic cars and a string of office renovations"

That was the story right there.

</comment><comment><USER16> Came across the linked article about Fuhu from 2014 [1]:

> Think 9 a.m. to 10 p.m. workdays. Very little vacation. Missed birthday > parties and weddings.

This is such a bad idea. I hope this startup idea of unhealthy work-life goes away soon. If you're a founder or have a crushing deadline for a big contract then yes, go ahead and do this. But this should never be the day-to-day pressure of any company.

They are fooling themselves that they are accomplishing more this way. A good way to lose your best talent or the abilities of the talented who stay.

[1] [http://www.inc.com/magazine/201409/lindsay- blakely/inc.500-2...](http://www.inc.com/magazine/201409/lindsay- blakely/inc.500-2014-number-one-fastest-growing-company-fuhu.html)

</comment><comment><USER17> It's not wise to do drive-by analyses yet this guy sounds like a classic psychopath building a cult. I bet he never accepts any responsibility for what happened.

</comment><comment><USER18> I have an anecdote to add about Fuhu that may shed some light on the management style prevalent there. It should be noted that this is second hand info as it comes from one of my closest friends who worked there for a few months helping to run customer service/tech support. Obviously take this with the appropriately sized grain of salt. A couple of things:

1\. I've worked in customer service jobs before and I've generally found that they can be an extremely tiring job as well as one that is difficult to hire for. The pay tends to suck, especially if you're trying to survive on those wages in LA, and you get many employees who don't take the job particularly seriously leading to lots of turnover. My friend was extremely excited to join Fuhu and I was happy to learn that many of her coworkers in support were equally excited to be there, initially at least. They all seemed very eager to be a part of a growing tech company and in the case of my friend, spent countless hours on Facebook during her off hours answering customer inquires. Her initial enthusiasm turned to dread in a matter of weeks due to what she described as a hostile work environment where those who weren't a part of the inner circle of managers were treated with disdain. Now again, I've worked in low level customer service before, and while the pay was indeed low, the owner of the small business I worked at always treated me with respect. I feel you can judge an organization fairly accurately by how it treats its lowest paid employees.

2\. She told me on multiple occasions that she felt uncomfortable because of what she perceived were different standards that were applied to non-Asian employees by the predominantly Asian managers. Normally, I like to tread carefully on such topics unless I have first hand knowledge, but being that I've always valued her opinion, plus the fact that she herself is Asian, I took her word for it.

3\. Some of you may remember that on Sept 21, 2012, the Space Shuttle Endeavour, riding atop the Shuttle Carrier Aircraft, made its last landing at LAX on way to its permanent display at the California Science Center. Fuhu was at the time headquartered in the top floors of a low-mid rise building directly across from LAX. They had just completed a new top floor office with gorgeous views to the north including LAX and up to the Santa Monica mountains, but most employees were still in an older office one or two floors below facing away from the airport. A few hours after Endeavour's arrival I text my friend to see how she enjoyed the landing. Apparently, no one had bothered to tell her and her lowly coworkers in the lower office of the landing despite the fact that the managers and higher level staff all gathered around the large windows to watch. Now I realize that I'm a space buff so my view on this is obviously biased, but I found that to be a fairly petty. On it's own it might not seem like a big deal but from her retelling, it seemed to be a part of a broader culture that really wasn't inclusive or respectful of the lower level employees.

While I feel bad that she missed the landing, it did lead to me developing a simple basis for evaluating upper management. We can call it Inconel's Rule of Management Excellence. There's only one rule:

If there happens to be a once in a lifetime Shuttle Carrier Aircraft landing happening in your city, garnering mainstream press and causing people from all over the city, even those without any connection to the aerospace industry, to line up by the thousands alongside roadways, on freeway overpasses and gather on top of roofs, for the chance at a quick glimpse as the Shuttle goes by, and you happen to work in a building that offers probably the single best view of the LAX runways and the Shuttle landing, and management, despite taking in this once in a lifetime sight themselves, doesn't bother informing their underlings to take a quick 5-10 minute break to also enjoy this sight, well, I think it's fair to assume that management is made up of assholes.

There it is, that's my rule.</comment>


Ask HN: How does post banning work on HN? - <AUTHOR> Hello everyone, I'm quite new to the HN community, so please forgive me if I'm doing something wrong, or if there's a better way to ask this question. Just please let me know!
So, I had submitted this post this morning under Show HN: https://news.ycombinator.com/item?id=15277484 and it was gaining traction, was on the front page for quite some time, and then it suddenly vanished from trending/new/show pages.
Due to the sudden disappearance, I can't believe it was because of the downvotes. I think most probably one of the mods(?) removed it for some reason.
Was it done because the post involved Paul Graham? Is there a way I can contact the mods about the reason(or they can contact me)? I'd definitely want to know about any mistakes that I had made, even unintentionally, so that I don't repeat them in the future! Thanks :-) <comment><USER2> The knowledgeable answers can only come from the moderators. Try using the |contact| link at the bottom of the page.

<comment><USER3> You might find the guidelines and FAQ useful as well:

* [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

* [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

The FAQ includes information about ranking and flagging:

> _How are stories ranked?_

> _The basic algorithm divides points by a power of the time since a story was > submitted. Comments in comment threads are ranked the same way._

> _Other factors affecting rank include user flags, anti-abuse software, > software which downweights overheated discussions, and moderator > intervention._

Also, the guidelines request (as 'brudgers points out):

> _Please don 't post on HN to ask or tell us something. Instead, please send > it to email@example.com._

I'd speculate that it was just the normal churn. 'dang and 'sctb have commented many times that they specifically take care on posts that reference YC in some way.</comment></comment>


You can list a directory containing 8 million files But not with ls..  - <AUTHOR> http://www.olark.com/spw/2011/08/you-can-list-a-directory-with-8-million-files-but-not-with-ls/ <comment><USER3> Excellent writeup. Computer systems are discoverable. That attitude, along with some of the basic tools (such as strace, ltrace, man pages, debuggers and a compiler) and a willingness to dive into system source code go a long way. If your tracing leads you to a library call and you don't know what's going on inside, find the source code. If it's the kernel, load up lxr (<http://lxr.linux.no/>).

<comment><USER4> Very interesting. I spotted two minor problems with the posted code.

Doing this: #define BUF_SIZE 1024 * 1024 * 5

to define a numerical constant is a bit scary, since depending on how the symbol is used it can break due to dependencies. It's better to enclose the value in parenthesis. Personally I would probably write the right hand side as (5 << 20).

The first time the modification to skip entries with inode 0 is mentioned, the code is wrong:

 _I did this by adding if (dp- >d_ino == 0) printf(...);_

This should use !=, not == (it's correct the second time, but this adds confusion).

<comment><USER4> On second thought (too late to edit), it's quite likely that I would not even bother with a define for this, but instead just set the size directly in the code, e.g. char buffer[5 << 20], then rely on sizeof buffer in the call where the buffer's size is needed. I prefer sizeof whenever possible.

<comment><USER3> Using (5 << 20) instead of (5 * 1024 * 1024) is premature optimization. Modern C compilers will take the expression (5 * 1024 * 1024) and turn it into the combination of shifts and additions that are appropriate for your architecture.

And I definitely prefer defined constants for two reasons. One, it's likely you'll have to declare multiple such buffers in different places. Two, if I want to tune the parameter, I'd rather do it at the top of a source file with other such defined constants than hunting for the declaration in the code. I do agree that sizeof() is preferable when it's an option.

<comment><USER5> I don't think he meant it as an optimization. It's easy to understand as 5 * 2^20, and quicker to type.

<comment><USER3> I much prefer 5 * 1024 * 1024. I have to stop and do some reasoning with 5 << 20.

</comment></comment></comment></comment></comment></comment><comment><USER6> I suspect the author is incorrect in his claim that reading in 32k chunks is responsible for the slowness. Due to read ahead and buffering, Unix-like systems tend to do reasonably well on small reads. Yes, big reads are better, but small reads are not unreasonably slow.

To test this, he should try "ls | cat". On large directories that often runs many orders of magnitude faster than "ls". This is because, I believe, ls by default on most people's systems, want to display information such as file modes or type via coloring or otherwise decorating the file names, and getting that information requires looking at the inode for each file.

It's all those inode lookups that slow things down, as the inodes are likely to be scattered all over the place. When you do "ls | cat", ls noticed output is not a terminal, and so turns off the fancy stuff, and just lists the file names. The names can be determined entirely from the directory, and so performance is much better.

<comment><AUTHOR> The original onus for the post was python's os.listdir() which as far as I know doesn't stat(). ls, just made the blog post more interesting :-).

I was surprised that the 32K reads were taking so long. It's possible since it was on a virtualized disk ("in the cloud") that something else was slowing down disk IO (like Xen).

But I can assure you that a larger read buffer performed much better in this given scenario.

I'd welcome more tests though.

<comment><USER7> This is just a hypothesis based on very little actual knowledge, but perhaps a very long scheduling interval is responsible for the slowness with smaller reads? Consider this scenario: the virtualization hypervisor is on a reasonably loaded system, and decides to block the virtual machine for every single read. Since the physical system has several other VMs on it, whenever the VM in question loses its time slice it has to wait a long time to get another one. Thus, even if the 32K read itself happens quickly, the act of reading alone causes a delay of _n_ milliseconds. If you increase the read size, your VM still gets scheduled 1000/ _n_ times per second, but each time it gets scheduled it reads 5MB instead of 32K.

</comment></comment></comment><comment><USER8> Really surprised by all the high-fiving and positive excitement going on about this article.

Putting eight million files in one directory level aside, the whole basis for this event - using the filesystem as a storage layer for a k/v 'database' - <USER2> just twisted.

Happy not to be working with devs like this.

<comment><USER3> Systems people tend to do the simplest, reasonable thing that works, then forget about it until it doesn't work anymore. This means that sometimes you'll make design choices that look ugly, but really, they don't matter.

See this talk by Jonathan Blow, the designer and programmer behind Braid: <http://news.ycombinator.com/item?id=2689999>

</comment></comment><comment><USER9> getdents stands for "get directory entries", in case anyone else was wondering.

<comment><USER10> Hark back to the days when 8 character function names were a luxury!

And remember to put all your variable declarations at the top of each block, so the compiler can handle it all in a single pass :)

</comment></comment><comment><USER11> The author has a great tip for kernel/filesystem developers:

 _"Perhaps the buffer should be dynamically set based on the size of the directory entry file"_

This would eliminate the readdir() bottleneck.

<comment><USER12> readdir() is implemented in libc, not the kernel. The kernel interface is getdents() and that has a configurable buffer size.

</comment></comment><comment><USER13> >>> "Don't be afraid to compile code and modify it"

I was a bit thrown by this advice. Are there folks out there that are afraid to compile code and modify it?

<comment><USER14> Throw a novice Ubuntu user into a FreeBSD system, and tell him to install a port, and 9 times out of 10 they'll freak out once they see GCC output on the screen.

Nothing against Ubuntu (RedHat, SuSE, Debian, Arch, et. al.), but source compilation is something they all have been letting their users avoid for a long time. The target audience is different.

<comment><USER15> Speaking as a novice Ubuntu user, I don't even know what "install a port" means. Do you mean "open a port"?

<comment><USER16> Nope, he does not mean open a port. Ports is the name of the packaging system FreeBSD uses, and a port is the equivalent (more or less) of an RPM or deb source package.

<http://www.freebsd.org/ports/>

<comment><USER15> Doesn't that become awfully confusing?

<comment><USER14> Only out of context.

If your server had a network connection problem and you needed to open up a port, we're already talking about network ports, not software, so you would try to diagnose your network.

If you asked me how you could get the old game `rogue` on your system, I would tell you to go install the freebsd-games port, which has nothing to do with networking, and so it clearly means that you need to look in your ports tree.

</comment></comment></comment></comment></comment></comment><comment><USER17> The easy way to do this is:

      find . -maxdepth 1 -mindepth 1

Those arguments will remove the need for find to stat each directory entry. Regardless, this is a nice walk through of low level details often overlooked.

<comment><USER18> Actually 'find' will also stat each entry no matter what.

Many of the standard-tools that most people would intuitively expect to be rather optimized (find, rsync, gzip) are embarrassingly inefficient under the hood and turn belly up when confronted with data of any significant size.

That probably stems from the fact that most of the development on these tools took place during a time when 1GB harddrives were "huge" and SMP was "high end".

<comment><USER19> The only issue I'm aware of with gzip is actually in zlib, where it stored 32-bit byte counters, but those were strictly optional and it works fine with data that overflowed them. The zlib window size may be only 32k, but bzip2 doesn't do _that_ much better with 900k and a better algorithm, so I wouldn't consider it embarrassingly inefficient.

<comment><USER18> I was referring to the lack of SMP support in gzip (see <http://www.zlib.net/pigz/>).

</comment></comment></comment></comment><comment><USER20> The man pages really do try to put you off using the syscalls. I only used getdents for the first time when I was writing a syscall interface for Lua <https://github.com/justincormack/ljsyscall> \- not tried it on 8m files but you can set the buffer size so it should work.

The native aio interface has advantages over the posix wrapper too, and some of the other interfaces. On the other hand the futex interface is not nice to use, as it requires architecture specific assembly which seems undocumented...

</comment><comment><USER21> In a similar fashion, something that is reading directories as files on Windows: <https://gist.github.com/1148070> \- it allows me to get faster some things (it's very crude, rough code, written for exploration, rather than real usage).

Also to get the NTFS streams (metadata).

[http://msdn.microsoft.com/en- us/library/aa364226(v=vs.85).as...](http://msdn.microsoft.com/en- us/library/aa364226\(v=vs.85\).aspx)

</comment><comment><USER22> Just curious did you try 'ls -f' to get unsorted output. I think a lot of your time may have been in getting stuff sorted for output.

<comment><AUTHOR> I actually didn't try ls -f, but I did try find . and os.listdir and both hung with very similar straces

<comment><USER23> I hit this with a log trimming script I wrote in perl a few months back. We had one directory with about 4 million files.

Just in case you're curious I left it run and it took about 25 hours to get all of the directory entries. One with about 3 million files took 12 hours, so i'm not sure how long it would have taken if you'd have let ls run on its own accord.

Only 200k files afterwards though. :D

I think i'll poke around with this after I get a coffee, I remember stracing the interpreter and getting annoyed at its 32k or bust behavior. But since I didn't have a time limit I didn't much care about runtime. Thanks for the write up!

</comment></comment></comment><comment><USER24> Why aren't files stored in subdirectories based on the first character of the filename to breakup the volume?

<comment><USER25> They were never meant to have anywhere near that number of files in the first place. The article mentions that the cleaning up of old files failed - presumably they didn't bother with subdirectories because under normal circumstances the single directory approach was working fine.

</comment></comment><comment><USER26> My impulse would be to modify libc's readdir() to use a larger buffer size instead of using my own C program. Would that much stupider for some reason (besides packaging/dependencies)? Do libc clients expect 32k buffers and die if they receive something else?

</comment><comment><USER27> I ran into this problem before. One of our engineers had a script that kept some temporary data in his home directory, which went crazy at one point and generated millions of files (no clue the reasoning for this). Anyways, this was HELL on our backup solution, which ended up failing several nights in a row on that area. Luckily, since the files were largely useless, this left our options open. I think the kicker was the 'rm' command not working (same issue as listing? This was a Solaris 8 system I think). I believe we ended up moving all of the other data off of that filesystem and newfs'ing it.

</comment><comment><USER28> Having a fan-out directory instead of putting all files at the root would have helped to avoid this problem altogether.

Here's an example. The .git/objects/ directory can grow to have up to 256 sub- directories. If an object hashes to 0a1b2c3d then it gets written to objects/0a/b2c3d. Lookups are still fast and navigating can be done without resorting to writing an 'ls' replacement.

</comment><comment><USER29> I feel compelled to point out that perl can do this rather easily. But I really did like a little more low level on how a directory is listed.

[http://blogs.perl.org/users/randal_l_schwartz/2011/03/perl-t...](http://blogs.perl.org/users/randal_l_schwartz/2011/03/perl- to-the-rescue-case-study-of-deleting-a-large-directory.html)

</comment><comment><AUTHOR> Should be fixed completely and fast now, SPW was a new blog so the cache config was support wrong :-)

</comment><comment><USER30> Wouldn't the reason be that `ls` tries to sort and stat the results?

Perhaps

        ls -f1  # (one) disables sorting and just prints filenames

would be fast enough?

</comment><comment><USER31> What about 'echo *' ? That's usually my last resort when dealing with malfunctioning ls.

<comment><USER32> The shell will attempt to expand '*' into arguments before it spawns the 'echo' process.

The shell cannot handle long argument lists, so this will fail rather quickly.

<comment><USER33> Yep, this is usually the first point of failure for commands acting on somewhat large directories, that drives people to use find and exec.

</comment></comment></comment><comment><USER34> Sorry our blog is down now - we're trying to get it back up ASAP!

<comment><USER35> looks like it's fine now, but worst case you can access the cached version:

[http://webcache.googleusercontent.com/search?q=cache:KBsyzf3...](http://webcache.googleusercontent.com/search?q=cache:KBsyzf3o_gYJ:www.olark.com/spw/+list+a+directory+containing+8million&hl=en&client=safari&gl=us&strip=1)

<comment><USER36> Better cached version: [http://webcache.googleusercontent.com/search?q=cache:KBsyzf3...](http://webcache.googleusercontent.com/search?q=cache:KBsyzf3o_gYJ:www.olark.com/spw/2011/08/&hl=en&client=safari&gl=us&strip=0)

<comment><AUTHOR> no need for cache anymore. Word to the wise, make sure supercache is actually caching when copying wordpress installs :-)

<comment><USER37> The cache is the only way it will display properly on my Android phone.

</comment></comment></comment></comment></comment><comment><USER38> Wouldn't ReiserFS work better for this?

<comment><USER39> It murders your disk though...

<comment><USER39> Too soon?

</comment></comment></comment><comment><USER8> Excellent case for not giving root.

<comment><USER40> What does root have to do with this?

<comment><USER8> Article illustrates numerous manner of ways of doing things incorrectly.

The premise of the article is a bad precedent for stable environments: let's bend the OS so that it plays nicely with what's clearly misuse and misunderstanding of filesystems.

The only way eight million files should ever end up in a single directory level is by accident, and that's not the case in the scenario outlined here.

<comment><AUTHOR> Typically there are on the order of 2000 files in a directory. It was a mistake.</comment></comment></comment></comment>


Niels Bohr's Argument for the Irreducibility of Biology to Physics (1994) - <AUTHOR> https://link.springer.com/chapter/10.1007/978-94-015-8106-6_10 <comment><USER2> [http://sci-hub.tw/https://doi.org/10.1007/978-94-015-8106-6_...](http://sci- hub.tw/https://doi.org/10.1007/978-94-015-8106-6_10)

</comment><comment><USER3> Sounds like Bohr doesn't believe the "astonishing hypothesis". As stated on [https://en.wikipedia.org/wiki/The_Astonishing_Hypothesis](https://en.wikipedia.org/wiki/The_Astonishing_Hypothesis): The Astonishing Hypothesis posits that "a person's mental activities are entirely due to the behavior of nerve cells, glial cells, and the atoms, ions, and molecules that make them up and influence them."

<comment><USER4> You can agree the mental events are made up of the same stuff as physical events, without believing that they can be fully explained in physical terms. [https://www.iep.utm.edu/anom-mon/](https://www.iep.utm.edu/anom-mon/)

<comment><USER5> > although mental states, events and processes have genuine causal powers, the > causal relationships that they enter into with physical entities cannot be > explained by appeal to fundamental laws of nature

The claim is that mental events are supernatural?

<comment><USER4> No, the claim is that an explanatory framework limited to physical terms is not complete enough to encompass mental events.

<comment><USER6> I'm not sure if I'm reading you right. You seem to be saying some mental events don't have physical causes, or maybe that some mental properties are not encoded physically.

In which case it sounds like there should be some mental events or experiences that are impervious to physical interference. So for example there is no conceivable physical intervention that could affect them. Do you believe there may be mental phenomena that are not causally related to physical processes in that way? It sounds like this should be testable.

<comment><USER7> "You seem to be saying some mental events don't have physical causes, or maybe that some mental properties are not encoded physically."

I think he is only saying that an empirical language alone will not be enough to relate mental processes to physical ones. You have to define what a mental event really is before you can properly test anything about it, and depending on what definition you choose it might be inherently un-testable. If you define a mental process as being composed of physical processes from the start then of course you will conclude that all mental processes are influenced by physical ones. There are other possible definitions though such as physical processes being composed of multiple mental processes (the opposite of the last) in which case no physical test could be performed to verify a "change" occurred in the mental subject (but a "mental test" of sorts might still be able to tell us)

</comment></comment></comment></comment></comment></comment><comment><USER8> Monism is on the retreat in many, many fields "lately". We still haven't really understood all the implications of post Newtonian determinism, and thermodynamics isn't super useful here either because most of the systems we care about are "open".. also, models (even those with high predictive power locally) don't compose in a way that allows for predictive power of emergent phenomena. A hierarchical mutual-causality framework (a la Ascendency) will likely get us where we need to go to understand things more better. This is all being actively discussed in philosophy of science circles, iirc

Edit: am just a hobbyist at this stuff, I'm probably wrong ;)

<comment><USER9> Any good resources to read about this?

<comment><USER8> I came to learn about it through Ecology: The Ascendant Perspective, which is a very fun read in general. If you want harder to read stuff, you could go to Popper or more contemporary, Eric Hochstein.

<comment><USER9> Thanks!

</comment></comment></comment></comment><comment><USER10> Isn't this 'the argument of personal incredulity'? [https://en.wikipedia.org/wiki/Divine_fallacy](https://en.wikipedia.org/wiki/Divine_fallacy)

> I cannot imagine how P could be true; therefore P must be false.

<comment><USER11> No, the argument is that we can't see how P could be true, even though plenty of people assume that P is true. But P could also be false. It's questioning the assumption that P is true because nobody has succeeded so far in showing that it is. It might or might not be. We don't know.

<comment><USER12> Are you talking about the argument outlined in the article? I don't see where you're getting that from.

The article in the OP is about the argument that the explanation of characteristic biological functions by physics is _impossible_. Niel argues for epistemological anti-reductionism. It's not about throwing doubt on the assumption that reductionism is true, it is specifically arguing that it is in fact false using the analogy of the complementarity that governs the explanation of the stability of atoms.

<comment><USER11> More so a response to the parent that the article in the OP was an argument from incredulity. Still not convinced that arguing for impossibility is the same as arguing form incredulity, if you have a good argument for impossibility.

So for example, Chalmers arguing that consciousness can't be reduced to physics is not an argument from incredulity. Rather, it's an argument that it's conceptually impossible. People might disagree with either Bohr or Chalmers arguments, but that's different from them committing this particular fallacy, unless it can be pointed out how Bohr or Chalmers were arguing from a failure of imagination.

<comment><USER6> Ok, I'll try to point that out.

Charmers argues that quaila cannot be reduced to physical causes. However we know for sure that any conceivable information or process that can be performed on information must be tractable to physical encoding.

It seems to me that qualia are simply information, or a process performed on information. If so, clearly they can have a physical cause. To refute this, Chalmers would have to show some property or characteristic of qualia that is not information or a process performed on it. But this is impossible. Any such explanation would by definition have to be encoded in information or a process performed on information.

Therefore if it is even possible for Chalmers to explain or adequately describe his thesis in a complete and consistent way, it must be true that his thesis is false.

<comment><USER11> > It seems to me that qualia are simply information, or a process performed on > information.

Not all information has a subjective component to it, so qualia can't be identical to information, unless one is a panpsychist.

Moreover, information can be seen as an abstraction from experience that humans create via cognition and language. One might respond that all physical processes involve information, but physics is itself an abstraction. It's our attempt to create a map or models of the world. It's not the world itself.

<comment><USER6> >Not all information has a subjective component to it, so qualia can't be identical to information, unless one is a panpsychist.

Doesn't that just make qualia a subset of information, not distinct from it? Even metadata is still just a form of data.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> The opening paragraph is puzzling as it breezily mentions that NB, "even in his youth", was familiar with deep questions regarding the relationship between biology and physics. Neil's Bohr's father was an accomplished and famous physician [1][2]. No doubt father and son had quite interesting discussions over dinner regarding this very topic.

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

[2]: [https://en.wikipedia.org/wiki/Bohr_effect](https://en.wikipedia.org/wiki/Bohr_effect)

</comment><comment><USER14> Conversely, Jim Al-Khalili on the role of quantum physics in biological mechanisms.

[https://www.youtube.com/watch?v=wwgQVZju1ZM](https://www.youtube.com/watch?v=wwgQVZju1ZM)

and his BBC version

[https://www.youtube.com/watch?v=q4ONRJ1kTdA](https://www.youtube.com/watch?v=q4ONRJ1kTdA)

</comment><comment><USER15> Can I reduce what I see now on the screen of my computer to physical phenomenon that has happened in a finite amount of time? Yes. Is it practical or treatable? Probably not.

</comment><comment><USER16> My gut reaction to these arguments has always been to disagree, however I think that I have been missing the more nuanced interpretation, with which I actually agree.

Of _course_ biology won't be explainable using just the mathematics for basic physics. Quantum physics and classical physics are able to account for an enormous amount of the complexity of in the universe. However, their representation is so compressed, and has been developed and tested on such 'low dimensional' system, that there are surely mathematical laws that they simply cannot encode, nor should we expect them to.

The number of stable combinations of fundamental particles and the number of different orbital configurations etc. etc. are a set of rules with which everything 'must' be consistent (unless there is a major shift in our understanding of the fundamental laws of the universe). However, they give us little to no insight into what other constraints might be imposed on systems where the phenomena they describe are merely parts (yes I know that I have a wave function).

All this to say that it seems to me that there must be other mathematical laws that do not follow directly from 'basic' physics, that also constrain the behavior of more complex physical systems. The answer is not therefore that biology irreducible to some mathematical description, which is how I usually interpreted these arguments, but rather that there are additional mathematical laws that are needed. Perhaps that rather than despairing at the 'irreducibility' of biology to physics, we merely need to extend our notion of 'physics' to include the mathematical laws that constrain biology.

</comment><comment><USER17> I like the list of keywords that were generated automatically, particularly one that looks like coming straight out of Iain M. Banks' "Culture" :

 _" Emphasis Mine"_

</comment><comment><USER18> Obscene prices...

</comment><comment><USER19> I dont understand this, life is already quite well explained by thermodynamics and the second law, which i also find to be a quite underappreciated concept. Physical processes at the quantum mechanical level are reversible, but at the macro level they do not reverse. Life is a process which is able to adapt to changing and irreversible circumstances. It does not seem to make sense to explain life in terms of quantum mechanics.</comment>


iOS 11.4 brings stereo pairs and multi-room audio with AirPlay 2 - <AUTHOR> https://www.apple.com/newsroom/2018/05/ios-11-4-brings-stereo-pairs-and-multi-room-audio-with-airplay-2/ <comment><USER2> Anybody know if this fixes the battery issues reported with 11.3.1?</comment>


'Grand Theft Auto V' sets record by earning $1 billion in just three days - <AUTHOR> http://www.theverge.com/2013/9/20/4752458/grand-theft-auto-v-earns-one-billion-in-three-days <comment><AUTHOR> The interesting bit: "We believe this marks the fastest that any entertainment property, including video games and feature films, has reached this significant milestone."

</comment><comment><USER2> Grand Theft Auto V' sets record with _$1 billion in sales_ in just three days.

"Earns" made me think of "earnings" as in "profits."</comment>


Clojure and the UFC - <AUTHOR> https://rawgit.com/runexec/ufc-clojure/master/html/part1.html

<comment><USER2> This is really neat, did you scrape all the results? You ought to use this for betting purposes :)</comment>


CadQuery – a parametric CAD script framework - <AUTHOR> https://github.com/dcowden/cadquery/blob/master/README.md <comment><USER2> This is awesome!

I've been using Python to generate OpenSCAD scripts, and then a half-finished Python binding for OpenSCAD. This framework uses the natural parametric CAD modeling primitives, like the workplane. I never got used to the OpenSCAD way.

I'm switching my stack over to this today.

<comment><USER3> I'd love to know how this works out for you. I was trying to do something similar, but got stuck.

The core issue is that the fluent object design approach makes it very difficult to decompose objects into reusable features. The shared state behind the fluent approach makes creating multiple sub-objects (to then combining them) difficult (maybe impossible). The power of Python gets limited to thinking about only one thing at a time.

See [https://github.com/dcowden/cadquery/issues/167](https://github.com/dcowden/cadquery/issues/167)

They are trying to fix this in 2.0, but that's still in early development.

<comment><USER3> It looks like the problem isn't where I thought it was. Still figuring out how to get it to work, though.

</comment></comment></comment><comment><USER4> Also check out cqparts which builds on cadquery and add the concept of parts, assemblies and mates to cadquery

[https://github.com/fragmuffin/cqparts](https://github.com/fragmuffin/cqparts)

</comment><comment><USER5> Have used the FreeCAD plugin a little bit, useful to create some parts that are hard/tedious to do with visual constraints/operations. However I did struggle a bit with the DSL, think I might be faster if just using the FreeCAD Python API directly...

Jupyter Notebook support is super cool through, will give that a go for generative/data-driven models!

</comment><comment><USER6> Quick question:

Why would I use this or OpenSCAD instead of Fusion 360 or TinkerCAD?

<comment><USER7> The other answers don't quite address why you would prefer this specifically versus Fusion 360 or TinkerCAD (or OnShape, SolidWorks etc).

Simple answer: they (cadquery and OpenSCAD) are free and open source. Fusion 360 for example is free for most hobbyist use, but it's still a proprietary package and you're depending on AutoDesk's good will. This has historically been a bad idea, AutoDesk has done the bait-and-switch routine many times and are not exactly benevolent. I genuinely think Fusion 360 is probably the best all-round CAD/CAM package available and it's nice that they currently offer it for free, but I'd be hesitant to really go all-in on using it. AutoDesk could pull the rug out from under free users at any moment, leaving you with the choice of paying up or losing the ability to edit your projects. Or they could go out of business at some point in the future; since Fusion 360 is heavily cloud based that might leave you in quite a pickle (a bigger concern for smaller operations like TinkerCAD).

Free is also important compared to products like SolidWorks, which is priced way outside the price range of most hobbyists. Not to mention, most commercial CAD packages aren't cross platform (with exceptions), while OpenSCAD and CadQuery both run on Linux.

These are not necessarily decisive concerns depending on your priorities, but they are significant. I use both OnShape and Fusion 360, but I also don't really care about long term access to my designs.

<comment><USER8> There seems to be a plague of vendor schemes attempting to lock up your own designs into their proprietary service.

While there surely are benefits to many classes of uses to having their data accessible via a cloud service, I think the main benefit is getting that recurring revenue on the vendors' balance sheet.

</comment></comment></comment><comment> d--b CadQuery is terrible naming... FluentCad or something would have made a lot more sense...

<comment><USER3> Ya. When they named it jQuery was the new hotness.</comment></comment>


The Simplest React Stack – Part 1: Bootstrapping and State Management - <AUTHOR> https://medium.com/@solkimicreb/the-react-stack-challenge-5fd166e1245f <comment><USER2> Surprised to see the state store caring about events. Checking for a keycode in your system to add an event to a store feels like a violation of separate concerns. That was an immediate turnoff for me with this post.

<comment><AUTHOR> Valid point. You can move that logic to the component and leave the store for pure data manipulation and handling only. I do that for bigger projects, but in this case I wanted to make things short.

The goal of this series is not to teach patterns but to promote a simple and flexible stack that you can use with the patterns that you like. (In your case you can move the view specific logic to the level of the components).

<comment><USER3> I came here to say the same as whalesalad. This is not just a "you can do that if you wish" situation. This is more a case of "so much anti-pattern that it turns off readers".

<comment><AUTHOR> As you wish (: You convinced me, I edited the gists and removed the antipattern. Please review it if you have a spare minute. Thx!

<comment><USER3> Most welcome. Looks so much better. And it was whalesalad to report it first :) Have a great day!

</comment></comment></comment></comment></comment><comment><USER4> In our shop where we have built many high-performant, and pretty complex (various types of security tools and all that) react apps, the state is managed at the top-most component and it is passed down to all other components as props. It works great and it is functional all the way.

<comment><USER5> Yeah, especially if you combine that idea with Flow/TypeScript or Reason. In fact that's why Redux isn't really used in Reason very much, with algorithmic data types, exhaustive pattern matching and all the power of OCaml you don't need it!

I enjoy the simplicity of it so much that I've now entirely adopted Elm -- type safety, super simple but powerful, and completely based on uni directional data flow with a compiler that is the most helpful I've ever used all wrapped up in the same State -> View function hierarchy that I adore in React.

<comment><USER6> You probably meant "algebraic data types" :)

<comment><USER5> I most definitely did :) remind me not to type while still half asleep!

</comment></comment></comment></comment><comment><USER7> Neat. Did you get any inspiration from Vuex in creating the store? The global store and building it out of a POJO are pretty similar patterns that I happen to like.

<comment><AUTHOR> No, I have never used Vuex, but I think Vue is an awesome framework. My main inspiration was monitoring my problematic situations and state management needs during app development in various frameworks.

</comment></comment><comment><USER8> I'm a big fan of react-easy-state. Unfortunately its foundation of ES6 proxies precludes its use in Internet Explorer.

<comment><USER9> What about react-easy-state stops you from transpiling to ES2015?

<comment><AUTHOR> Author here. As sigden mentioned, ES6 Proxies can not be transpiled. That is one reason why they are not yet commonly used. You can find out more about them here: [https://developer.mozilla.org/en/docs/Web/JavaScript/Referen...](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy) (They are pretty awesome).

</comment></comment></comment><comment><USER10> Nice idea!

Did you check out mobx?

My guess is that it would be almost as easy and a bit more mature.

<comment><AUTHOR> Sure, I know about MobX. I use ES6 Proxies instead of the getter/setter based transparent reactivity they use. It allows me to have less edge cases in exchange for narrower platform support.

MobX is also moving in the Proxy direction with v4, but I do not agree with some of their architectural decisions (mostly the synchronous execution), so I made a separate library. We can discuss these later if you are interested.

</comment></comment><comment><USER11> get completed () Is "get" som es6 thing?

<comment><USER12> No, just not commonly used; getters and setters aren't terribly useful in a language that allows such easy direct modification of objects (as opposed to say Java)

<comment><USER13> But transparent getters and setters can be used to emulate private or immutable properties:

        function Foo() {
          var _bar = 42;
          return {
            get bar() {
              return _bar;
            }
          }
        }

        var foo = Foo();
        foo.bar
        /*
        42
        */

However the fact that you can transparently replace a simple property by a computed one (e.g. for backwards compatibility or to trigger side effects in observables) does make explicit, Java-style, getters and setters less useful.</comment></comment></comment>


Show HN: Replab – Easily share, embed and run your Jupyter Notebook - <AUTHOR> https://replab.io <comment><AUTHOR> Hello Hacker News!

I started developing replab after I realized that I did double work copying/pasting source code from my Jupyter Notebook unto my blog article and manually included "Open In Colab" button that linked to the same Jupyter Notebook uploaded on my Google Drive.

I hope to hear your feedback and understand the problems that you are facing when sharing your Jupyter Notebook in any form.

Huge shout-out to Embedly for approving replab as one of the providers ([https://embed.ly/provider/replab](https://embed.ly/provider/replab)). Thanks to Embedly, replab can work smoothly on Medium too for example, [https://medium.com/@jolks/test-9ead410b1e8](https://medium.com/@jolks/test-9ead410b1e8).</comment>


Show HN: A Linux terminal online dictionary based on cambridge - <AUTHOR> https://github.com/xueyuanl/cambrinary <comment><USER2> Looking up a word requires an internet connection.

<comment><AUTHOR> yes :), if you like the cambridge explanation and don't want to use a browser.

</comment></comment><comment><USER3> Good job.

<comment><AUTHOR> Thanks : )</comment></comment>


The Durham Stampeders - <AUTHOR> http://www.heraldsun.com/view/full_story/12600148/article-A--nexus--of-big-brains--low-costs?instance=homethirdleft

<comment><USER2> Awesome stuff. Hopefully at least a couple of the Startup Stampede companies will go on to big exits, and the founders will become angels to seed the next round of Triangle area startups!

And on a related note... any Triangle area startups who are looking for a shot-in-the-arm might want to explore what the folks at TechStarts+ are doing:

<http://techstartsplus.com/default.htm>

<comment><AUTHOR> Thanks--I'll look into that.</comment></comment>


VLC vs AOL about Shoutcast - <AUTHOR> http://www.videolan.org/press/2010-1.html

<comment><USER2> Being the one that wrote this article and press release, maybe I can help people understanding the issue.

Basically, AOL send us a mail last summer asking us to ask for an API key for their new API, and the license was just fuckingly amazingly blocking for everything related to open source. More detail can be asked, if needed.

So anyway, 1.0.0 was just out, so it was quite impossible to comply, since people would be able to use the shoutcast plugin from 1.0.0 in all 1.0.x versions of VLC, since we keep modules API/ABI during a whole cycle. Therefore useless...

So, we waited for the 1.1.0 release to remove the module. And make a fuss about it. Of course, we could have talked to them before, but of course, nothing would have happened then, since big corporation only care about bad press... And moreover, the license was so f __king blocking that we didn't even see where the point was.

Finally, we have a complete extensions framework which means that now people can write their own scripts in lua to do exactly the same, without asking us :D

I hope this explains a bit more, don't hesitate to contact me if you want a bit more than a "funny" press release...

</comment><comment><USER3> Why are they working with Shoutcast? Does having Shoutcast compatibility add that much value to their free product?

I say dump Shoutcast and start promoting the hell out of a competing format.

<comment><USER4> If you actually read the article, that's basically what they're doing with IceCAST.

<comment><USER3> I read the article. A one-sentence mention is not exactly promoting the hell out of something.

</comment></comment></comment><comment><USER5> Along with the BBC changing the iplayer to use DRM, effectively locking out open source players, I hope this isn't becoming a trend.</comment>


The Evaporative Cooling Effect in Online Communities - <AUTHOR> http://blog.bumblebeelabs.com/social-software-sundays-2-the-evaporative-cooling-effect/ <comment><USER2> > After a while, you start to subscribe to what I call the Groucho Marx rule. > You stop attending any event which would have you as a participant.

I ideally like to be the stupidest and least informed person in any room that I'm in. At the very least, not the smartest. Continually looking for groups of people that are challenging and stimulating to be around means very fast learning and growth. But, I think most people prefer the opposite - they'd rather be the star, or at least mostly on par with everyone else.

Admittedly, it's hard. I had a mentor of mine invite me on a cruise. Now, that's the kind of frilly thing I'd never buy a ticket to on my own, but I like being around good people. So, I went - and man, it's not fun being gently corrected on how to hold a fork because I was out of touch with the etiquette. Hold the fork upside down? What?

Embarrassing, but you gotta learn it somewhere if you run in crowds that care about that sort of thing...

Don't get me wrong - I also like to help people, take time to answer questions, be available for people who reach out, give back, pay it forwards. But I think taking the attitude of trying to be the most humble, hard working, and least gifted person among a group of people means very fast absorbing of lessons, though admittedly at the expense of constant amounts of little mistakes and embarrassments.

Edit: I should add - I think thoughtful new members are necessary to prevent evaporative cooling - by introducing new points of view and asking questions that people haven't thought about in a long time. Normally two very successful members of a community won't have a discussion about the fundamentals, but might really enjoy each other's points when talking to a third person asking smart, good questions.

<comment><USER3> <http://www.danford.net/boyd/destruction.htm>

A US fighter pilot formally proved this back in the 60's/70's. He eventually went on to form a general theory for social systems (militaries, businesses, etc) in dynamic environments.

The fundamental takeaway is without outside input, systems tend to increase their entropy leading to collapse. You MUST have external inputs into any system in order to keep it alive.

</comment></comment><comment><USER4> Besides the original evaporative cooling essay, see <http://lesswrong.com/lw/c1/wellkept_gardens_die_by_pacifism/>.

<comment><USER5> That's an interesting essay and a good explanation of why it's toxic for any group to defend their idiots, the idiots whom they tend to find on their side of the issues. In politics, a lot of the ill will between liberals and conservatives stems from each side's reluctance to disavow the kooks and cranks on their own side. In a fragmented online community, members who themselves make high-quality contributions may resist quality control measures because they don't want their obnoxious idiot allies silenced. But that results in them having to put up with the obnoxious idiot allies of their rivals, which makes intelligent debate impossible and results in the high- quality contributors leaving anyway.

</comment></comment><comment><USER6> The same thing happened pretty quickly with stackoverflow.com. I wanted a way to search for questions by users who had high reputation, simply as a way of increasing the chances of finding interesting questions to answer. Unfortunately, it doesn't look like it'll get implemented. I've long since stopped visiting SO except for questions related to my areas of responsibility in the company I work for's products.

<comment><USER7> Can't you use their API/data dump for this?

</comment></comment><comment><USER8> I've seen this happening in several communities, namely some of the online parkour forums. One in particular used to be a very tight nit group of people, but as Parkour grew, more and more people got on the forum. As those original "high quality" people left, I thought the next level of people "took over" there positions.

This kind of kept happening, but every time it got worse and worse. It wasn't until reading this article that I realized that they weren't "taking over" or "stepping up," but they were simply the next highest level.

I've seen it happen and tried to warn people who manage those communities of it.. usually with little success. Great article though, explains the concept extremely well.

<comment><USER9> I think it's one thing to see it happening, and a totally different thing to actually know how to fix it.

I run an online community and what this article describes has happened to me a few times already, even with a karma/reputation system in place. I know I must fix the problem, but I don't know _how_ right now.

Does anyone have specific suggestions on how to broadly lessen this kind of problem?

<comment><AUTHOR> I agree, it's not an easy thing to fix and there's no broad panceas or it would already be fixed. I tried to put in some very broad level fixes in the article but it's really something that needs to be figure out on a community by community level and many communities are intrinsically designed so that it can never be fixed.

</comment></comment></comment><comment><USER10> I place a high value on treating all people with respect and making information equally accessible to all, yet I am increasingly frustrated with the outcomes that seems to get me. I find that a lot of forums have serious problems rooted in the fact that one or two or a few people set the tone for the entire forum and most folks line up to agree with one side and vehemently disagree with the other. This does not allow for a free exchange of information and ideas, which is something I also value highly. I tend to stand against that clique-ish trend, which frequently puts me in hot water. Yet it seems to me that the fact that I don't have a big ego and don't want to be treated like top dog on some list drastically undermines my credibility....but, I also think that the appearance of popularity I once had on a few small lists was more facade than reality. Spin-off lists I started never attracted more than a few members and my websites have never attracted much traffic. I suspect that a vocal minority made me appear more popular than I was.

This article is much food for thought for issues I have long wrestled with and couldn't seem to get any good info on.

</comment><comment><USER11> From the article: "In Academia, high school students have to fight to become undergraduates. Undergraduates have to fight to become PhD candidates. PhD candidates have to fight to become adjuncts. Adjuncts have to fight to become tenured and tenured professors have to fight to become Dean. I can't even think of a single online community that bears even the slightest resemblance to this sort of power structure."

Interesting point. Maybe having forms of recognition that are demonstrably difficult to achieve does help outstanding contributors feel more like staying.

<comment><USER12> While I'm academic and more positive on it than some of the sentiment around here is, that actually seems like one of the biggest _downsides_ of academia. It at least partly selects for careerists/game-players/CV-padders over experimenters/thinkers (doubly so for anyone whose goal is to become Dean). Lots of smart people end up burning out or going elsewhere, and many of the rest have a lot of their time taken up learning not-very-interesting things, like how to negotiate the web of prestige, publication, and funding agencies in their field. To the extent it works, I think it's despite all the hierarchy, not because of it.

<comment><USER13> This is a good point. I generally like the "show us the code" method of social proof in open source communities much more than the "show us your certifications" method in academia. The problem of course is that the latter is much easier to scale up, because the certification stands in for a close and careful examination of each person... "Oh, he graduated from X school? he's probably alright" is much faster than "Let me spend a few hours reading a major piece of work."

It's interesting to wonder whether how you'd go about building communities for doing science in a way that had tasks for inexpert but hard-working/bright newcomers to get started on, and allowed building reputation without all of the hassles of degrees and academic politics where much of the effort is misdirected. I wonder when/if some of the methods and norms of online communities will begin to supplant those of academia as it is today.

Interestingly, when it was smaller, science used to be much more accessible in this way. Once you were literate, you'd passed enough of a bar for serious people to treat you with some respect, and all kinds of advances were made by amateurs. So are the more open systems in computing just because of the youth of the field, or does online communication allow amateurism to scale further than it used to?

</comment></comment></comment><comment><USER14> I have been giving alot of thought towards this problem lately, and am beginning to lean towards the rather undemocratic side of things. Meaning, not all comments or story submissions on a site like HN are equal - some users consistently hit the ball out of the park and some consistently say things that should be be said. Karma systems based on upvotes obviously detect this, however upvotes only apply to a specific comment/article, and don't follow an actual user. How do you make that power user totally invested in your site? Just rely on points? Make them a moderator? Flag "elite" member posts with a different background color?

Perfect timing for this article, as I am about to launch a niche news aggregator as side project. Trying to decide how best to handle the reputation system...

<comment><USER15> You wouldn't be the first to twig to the idea that democracy is not the way to achieve the best of something - but that's not its intent - its intent is to provide some degree of fairness. And even then, it's willing to trade fairness for everyone for merely a guarantee of fairness for a majority.

If you locate a reputation system that produces better quality or decently filters better quality, please brag about it, I'm sure you'd have a success on your hands.

</comment></comment><comment><USER16> This is covered in _Micromotives and Macrobehavior_ , in a section dealing with clubs/meetings/etc.

[http://www.amazon.com/Micromotives-Macrobehavior-Lectures- Pu...](http://www.amazon.com/Micromotives-Macrobehavior-Lectures-Public- Analysis/dp/0393090094)

A similar book focused solely on online phenomena would rock.

</comment><comment><USER17> Very Interesting Stuff.

I can see the evaporative cooling happening in HN itself over the last year or so.

Also, puts in perspective the correlation between the success of Yahoo Answers and their reputation system.

</comment><comment><USER18> This article is very relevant to our company as we redesign our social product to better achieve the network effect and reduce this exact issue. Thanks for the great insights.

</comment><comment><USER19> Another essay to read on the subject is "Attacked from Within" <http://www.kuro5hin.org/story/2009/3/12/33338/3000> .

I think the main reason is that communities grow only so big and then they turn into a society. Users recognized in a community will lose their recognition that evaporates into the mediocre society.

</comment><comment><USER20> I think it is worth considering how this applies to Hacker News? Hacker News is somewhat niche, although not particularly, and does not have particularly arduous requirements for joining or participating. Aside from the leaderboard and some informal recognition of really stellar contributors (pg, patio11, ...), it's a fairly flat system without rewards for status.

<comment><USER21> Not to worry. HN readers have high standards and wield their downvotes _aggressively_. I've never seen such a well-maintained community as this one.

</comment></comment><comment><USER22> Good post. Have been thinking a lot about influence and reputation lately, and the relative nature of both of them.

Products that only cater to the Quora early adopter crowd won't ever make it big, but ones that are able to siphon them off such that they feel like they're special might.

</comment><comment><USER23> The key to interrupting this effect is to somehow give the most desirable users a lot of influence and/or special status, perhaps being in a position to decide whether other users are worthy of the same status.</comment>


Looks cheaper than stripe - <AUTHOR> https://knoxpayments.com/

<comment><USER2> But you have to put your username and password for your bank into their site…

Also, what sort of bank works like that anyway - the banks I've used all mandate 2 factor auth, plus use various questions instead of a traditional password (e.g. 1st, 4th, 8th char of password + a memorable place).</comment>


The Chemistry and Psychology of Turning Water into Wine - <AUTHOR> http://nautil.us/blog/the-chemistry-and-psychology-of-turning-water-into-wine <comment><USER2> > registering stronger activity in the region most associated with pleasure > (medial orbitofrontal cortex) when participants thought they were drinking a > $90 Cabernet than when they thought they were drinking a $10 wine

But are they actually enjoying the wine more or are they getting something of a thrill of doing something they never would otherwise be able to separate from enjoyment. Basically, did they feel like they were getting away with something?

<comment><USER3> >did they feel like they were getting away with something?

I think that's the entire point of $1000+ bottles of wine. They don't taste especially good, but you get a rush from being so mindbogglingly wasteful.

I guess it could feel nice to drink a glass of wine that costs as much as a week's income at minimum wage.

I'll just get drunk off Yellow Tail though, because I'm not so wealthy as to afford such stupid things.

</comment></comment><comment><USER4> it is crazy to think that a bottle of drinking water could have 1100mg/l of sodium, aside from the price I am surprised also that it was considered the hands on favorite by the article writer!</comment>


Heist: a Scheme interpreter written in Ruby - <AUTHOR> http://github.com/jcoglan/heist/tree/master

<comment><USER3> There is also bus scheme which is written in ruby:

[http://www.rubyinside.com/busscheme-ruby-scheme- interpreter-...](http://www.rubyinside.com/busscheme-ruby-scheme- interpreter-756.html)

<comment><USER4> Bus Scheme doesn't have continuations or macros; Heist has both. It also has tail recursion optimisation, which Bus Scheme is missing.

<comment><USER5> So, one of the new things about Scheme in the late 70s was having TCO in the spec. Strictly speaking, it's not Scheme (though it may be just another lisp1) if tail-recursion isn't baked in.

<comment><USER6> Another case of scheme in name only. Why does everyone call new lisp-1's scheme instead of lisp-1?

</comment></comment></comment></comment><comment><USER7> This looks like a very cool project and I'll definitely play around with it.

But I would be remiss if I didn't also mention that my expectations on the performance and memory characteristics of such a project terrify me a little.

<comment><USER8> You'd be right to be terrified, it's not exactly zippy. It's a toy, but I'm releasing it because it's got a couple of nice features (friendly REPL, lazy evaluation) and it's more complete in some areas than other toy Schemes I've tried. Also I figured it might be a nice example implementation for people who know Ruby. If you have optimisation suggestions or links to stuff I should read on the subject I'd be delighted.

</comment></comment><comment><USER9> Bravo. I am definitely going to try this out. A big barrier to entry for Scheme is getting a nice environment set up (you either have to tinker a lot, or just "trust" a pre-configured all-in-one environment and be at the mercy of the maintainer).

I think it could make having a simple, portable _development_ environment for scheme much easier. Then you have a production environment for testing and deployment.

<comment><USER10> "A big barrier to entry for Scheme is getting a nice environment set up"

Dunno: DrScheme is very nice out-of-the-box.

</comment></comment><comment><USER11> There's a chapter in the Topher Cyll book "Practical Ruby Projects" on how to write a Scheme interpreter. Haven't gotten around to it yet though.

</comment><comment><USER12> Would be nice if there were comments so you could use this as a learning tool.

<comment><USER8> Rest assured it will have more thorough documentation at some point, for my own benefit as much as anyone else's. Right now it's all very new and its internals are not that stable, so the only comments tend to be for stuff that followed a long debugging session to remind me why certain things are there. When it's more stable I'll do a better job of writing up how it works.

</comment></comment><comment><USER13> There's a toy prolog interpretter written in Ruby as well (<http://eigenclass.org/hiki.rb?tiny+prolog+in+ruby>).

What I'd really like to see is a Ruby interpretter written in Scheme - <USER2> Forth or Erlang or one of those other cool languages...

<comment><USER14> Or in Smalltalk? <http://ruby.gemstone.com/></comment></comment>


Ibis Chennai City Centre Launches "Pay What You Want" Promotion - <AUTHOR> http://www.businesstraveller.com/news/ibis-chennai-city-centre-launches-pay-what-you- <comment><USER2> Direct link - [http://www.ibis.com/gb/promotions-offers/special- offers/owm0...](http://www.ibis.com/gb/promotions-offers/special- offers/owm002839-001-pay-what-you-want.shtml)</comment>


Decoding evolution and transmissions of novel pneumonia coronavirus - <AUTHOR> https://www.researchgate.net/publication/339351990_Decoding_evolution_and_transmissions_of_novel_pneumonia_coronavirus_SARS-CoV-2_using_the_whole_genomic_data <comment><USER2> Interesting paper. I haven't dug into the methods/data in depth. But the gist of their interpretation is:

\- Out of the initial 41 cases, 27 were linked to the seafood market. The first identified cases + 12 others had no link to the market.

\- Phylogenetic analysis suggests two potential ancestral haplotypes. None of the seafood market haplotypes were the two potential ancestral.

\- The very first initial cases (family from Shenzhen) was one of the two potential ancestral haplotype.

I am a bioinformatics phd and know enough about phylogenetic analysis to say that it can sometimes be ambiguous and have some elements of subjectivity, especially with low sample sizes. So I wouldn't be too fast to jump on these results. However, I haven't gone through the data in detail to really give a good opinion.

<comment><USER3> Thanks for your insight! If not from the seafood market, is it possible to speculate (in an informed way) of what the source may have been? When novel viruses break into human populations, is some form of animal contact generally the culprit? Is something like a bat sneezing near you (I have no idea if bats sneeze) with an airborne virus sufficient to transfer to a human?

<comment><USER4> There's a level 4 virology research center in Wuhan, which means it studies the most dangerous pathogens in the world. This facility has been collecting SARS-like virus samples from bat populations and other animal populations for years. Some are speculating that it may have escaped the lab.

<comment><USER5> That is very speculative and currently not accepted. See this HN discussion and the paper [1]

[1] [https://news.ycombinator.com/item?id=22352908](https://news.ycombinator.com/item?id=22352908)

<comment><USER4> Not accepted by who? It is speculative, but seeing as we don't have hard evidence of the source, it remains a very valid theory.

<comment><USER5> Here's a quote from this article [1]:

> A group of 27 prominent public health scientists from outside China is > pushing back against a steady stream of stories and even a scientific paper > suggesting a laboratory in Wuhan, China, may be the origin of the outbreak > of COVID-19. "The rapid, open, and transparent sharing of data on this > outbreak is now being threatened by rumours and misinformation around its > origins," the scientists, from nine countries, write in a statement > published online by The Lancet yesterday.

[1] [https://www.sciencemag.org/news/2020/02/scientists- strongly-...](https://www.sciencemag.org/news/2020/02/scientists-strongly- condemn-rumors-and-conspiracy-theories-about-origin-coronavirus)

<comment><USER4> Keyphrase: Health scientists OUTSIDE of China. They're not in China. They don't have the independence to investigate. They have no way to say one way or another. There has not been an independent, forensic investigation into the origins because the CCP controls everything in China.

<comment><USER5> A WHO team is just back from China and their assessment is that the outbreak is currently declining there and the numbers provided by China are reasonably accurate. Following are comments by WHO epidemiologist Bruce Aylward in the following articles:

> He [Aylward] pointed to humped graphs of cases over time—they are the shape > of an epidemic that has been hobbled, he said. Disease spread has been in > decline since the beginning of the month, and doctors in China are honing > their ability to treat patients. "If I had COVID-19, I'd want to be treated > in China," he said candidly. [1]

> There's plenty of reason to doubt the official numbers—Chinese officials > initially covered up the virus and arrested whistle-blowers who tried to > expose the outbreak. Aylward acknowledged these concerns on Monday, but > added: "The decline that we see is real." [2]

[1] [https://arstechnica.com/science/2020/02/coronavirus- spread-i...](https://arstechnica.com/science/2020/02/coronavirus-spread-in-us- not-if-but-when-and-how-severe-cdc-says/)

[2] [https://www.wired.com/story/could-the-us-contain-a- coronavir...](https://www.wired.com/story/could-the-us-contain-a-coronavirus- outbreak/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> ResearchGate wasn't linking me back to the original point of publication, and the DOI doesn't seem to be valid (yet?). It turns out this was uploaded to the Chinese arXiv equivalent on the 19th.

[http://www.chinaxiv.org/abs/202002.00033](http://www.chinaxiv.org/abs/202002.00033)

<comment><USER7> How have I never heard of chinaxiv? Thanks for bringing this to my attention.

</comment></comment><comment><USER8> I worry that we may be spreading misinformation.

[https://science.slashdot.org/story/20/02/21/2257228/scientis...](https://science.slashdot.org/story/20/02/21/2257228/scientists- condemn-conspiracy-theories-about-origin-of-coronavirus-outbreak)

<comment> T-A Your link is about "Conspiracy Theories About Origin of Coronavirus Outbreak" on social media which may cause "real consequences, including threats of violence that have occurred to our colleagues in China".

Parent's link is to a genomic analysis of COVID-19 trying to reconstruct its evolution, authored by researchers all working in China.

Unless you think that no attempt should be made to determine the origins of the virus because of what trolls might make of it, I don't see the problem. If you do think that trolls should have that power, it's pretty late to worry about it: the official narrative about it all having started in Wuhan's seafood market has been known to be incomplete at best for a while now:

[https://www.sciencemag.org/news/2020/01/wuhan-seafood- market...](https://www.sciencemag.org/news/2020/01/wuhan-seafood-market-may- not-be-source-novel-virus-spreading-globally)

<comment><USER8> "Known to be"?

I really take issue with that phrase.

As maddening as it may be, we DO NOT KNOW the origins of the virus. And after reading a new paper -- we still do not know. We have to stop acting like we do.

<comment> T-A > "Known to be"? > I really take issue with that phrase.

That's your phrase, not mine.

What I wrote is "the official narrative about it all having started in Wuhan's seafood market has been known to be incomplete at best for a while now".

> As maddening as it may be, we DO NOT KNOW the origins of the virus

Yes. That's what I said.

You are arguing against your own position, not mine.

</comment></comment></comment></comment><comment><USER9> It came across to me as stereotyping to just assume certain people engaged in something very specific without any evidence in order to look down on them.

Furthermore, it's also impossible to prove where it didn't come, also without evidence, because you can't prove a negative.

<comment><USER10> That may be so, but bush meat has been positively identified as the source of quite a few outbreaks.

<comment><USER11> As an aside, I always found it strange that eating wild land animals is looked down upon as "bushmeat" and unsustainable and unhygienic, while eating wild sea creatures is just "seafood" (with farmed aquafauna looked down upon as the inferior product).

<comment><USER10> That's a good point. There is plenty of seafood that when not dealt with properly will happily kill you or make you at a minimum severely ill. Mussels, shellfish, oysters are best avoided unless you are very sure about where they came from and how they were prepared.

Besides that, due to the liquid environment anything in the sea that is poisonous is usually so in a very potent fashion. Species jumping viruses are rare when it comes to regular fish but marine mammals are a risk.

</comment></comment></comment></comment><comment><USER12> I'm confused. SARS and COVID-19 (the current coronavirus outbreak) aren't the same, right? Which one are we talking about here?

<comment><USER13> "On February 11, 2020, the International Committee on Taxonomy of Viruses, charged with naming new viruses, named the novel coronavirus, first identified in Wuhan, China, severe acute respiratory syndrome coronavirus 2, shortened to SARS-CoV-2.

As the name indicates, the virus is related to the SARS-associated coronavirus (SARS-CoV) that caused an outbreak of severe acute respiratory syndrome (SARS) in 2002-2003, however it is not the same virus." [1]

[1] [https://www.cdc.gov/coronavirus/2019-ncov/faq.html](https://www.cdc.gov/coronavirus/2019-ncov/faq.html)

<comment><USER14> It's doubly confusing because "SARS" stands for Severe Acute Respiratory Syndrome, but SARS-CoV-19 is a virus, not the syndrome. But we aren't calling the disease SARS-19, we are calling it COVID-19...

</comment></comment></comment><comment><USER8> That's not the actual headline.

We have no way of assessing the credibility of this research.

<comment><USER15> We've changed the title to the original now, as the site guidelines ask: " _Please use the original title, unless it is misleading or linkbait; don 't editorialize._" ([https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html))

(Submitted title was "Genomic analysis suggests seafood market was not SARS- CoV-2 source". )

<comment><AUTHOR> Sorry, i posted the link and the full title was too long to fit in the field. I did editorialize it as the intention was to draw attention to the claim. Noted for future posts.

Edited to include claim in journal below:

"This suggests that the source of the coronavirus in the Hua Nan market was imported from elsewhere"

</comment></comment></comment><comment> sahin-boydas What was it?

<comment><USER16> That's not known.

<comment> sahin-boydas Then what is the probable possible sources?

If someone separate them by media says, twitter says, science says, conspiracy says? It will be great.

<comment><USER17> These viruses have a reservoir in bats and they jump to humans through an intermediary animal. In the case of the virus that caused SARS[1], which was another coronavirus within the same family as the current virus of interest, there is some evidence that it went bats -> palm civets -> humans. Palm civets are/were sold at wet markets in China. It's not definitive that the palm civet was the source, however, as they subsequently found the virus in other animals.

For the current virus[2], the time and place of transfer is unknown, but the current thinking seems to be that it followed the same chain as SARS (bats -> some animal -> humans).

There is absolutely zero evidence from credible scientists of any kind of "escaped from the lab" or "bioweapon" source. These are just conspiracy theories.

[1] [https://en.wikipedia.org/wiki/Severe_acute_respiratory_syndr...](https://en.wikipedia.org/wiki/Severe_acute_respiratory_syndrome_coronavirus)

[2] [https://en.wikipedia.org/wiki/Severe_acute_respiratory_syndr...](https://en.wikipedia.org/wiki/Severe_acute_respiratory_syndrome_coronavirus_2)

<comment><USER18> Without jumping into conspiracy bandwagon, I still can't see how "originated from bats" is better then "bioweapon" if neither has concrete evidence or proof.

<comment><USER19> One has plausibility and some evidence from DNA sequencing and mutation rates on its side, the other hasn't.

<comment><USER18> >the other hasn't

Just because some people don't believe that is likely, that does not mean it is not _plausable_

Is it plausible that there could be a biological lab in Wuhan? Yes, in fact, there is one.

Is it plausible that some countries do research on biological weapon? Yes, in fact there are multiple cases of such occasions: [https://en.wikipedia.org/wiki/United_States_Army_Biological_...](https://en.wikipedia.org/wiki/United_States_Army_Biological_Warfare_Laboratories)

Is it plausible that biological lab can leak bioweapon? Yes, in fact this happened before, e.g. [https://en.wikipedia.org/wiki/Sverdlovsk_anthrax_leak](https://en.wikipedia.org/wiki/Sverdlovsk_anthrax_leak)

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Interestingly enough, most information/speculation about the viruses origins are actively suppressed by google/twitter/reddit.

<comment><USER21> How do you know that? Care to share more details?

<comment><USER22> zerohedge's twitter account was blocked permanently for sharing a post on the origin of the virus. For one.

<comment><USER8> They banned them for doxing a researcher.

[https://www.washingtonpost.com/technology/2020/02/01/twitter...](https://www.washingtonpost.com/technology/2020/02/01/twitter- zero-hedge-coronavirus/)

<comment><USER23> Is it doxing if they just republished already public information on the virology lab's website?

<comment><USER24> Debatably not, but that's not what Zero Hedge published:

 _The Zero Hedge post questioned the involvement of a virology institute in Wuhan, the city where the outbreak began. It listed the name, photograph and contact information for a researcher at the institute, and called on readers to "pay [him] a visit" if they want to "find out what really caused the coronavirus pandemic."_</comment></comment></comment></comment></comment></comment>


This Tool Maps the Spread of Fake News Online - <AUTHOR> http://motherboard.vice.com/read/hoaxy <comment><USER2> From the Hoaxy FAQ:

"Q: What is the source of social media data?

A: At the moment we only collect data from Twitter."</comment>


Straight-edge and Compass Construction Kit - <AUTHOR> http://sciencevsmagic.net/geo/

<comment><USER2> I managed to do Circle Pack 7 in one fewer than the minimum: [http://sciencevsmagic.net/geo/#0A1.1A0.0L1.1L5.5A1.5L8.0L4.5...](http://sciencevsmagic.net/geo/#0A1.1A0.0L1.1L5.5A1.5L8.0L4.5A4.8L9.5L6.6L12.5A0.17A2.5L11.16A10.5L7.7L24.5L23.25A22.15A8.26A3)

<comment><USER3> Well Done! As with most elegant solutions, yours is so simple that I can't believe I didn't see it earlier!

The minimum scores are from the simplest solutions I came up with during development, I was waiting for someone to best me.

</comment></comment><comment><USER4> As a member of the Geometric Cult, I love it, but when my mouse is a dot it's almost impossible to see.

<comment><USER3> I've rewritten the custom cursor CSS for the grab hand, hopefully it works now.

</comment></comment><comment><USER5> Possible bug?

[http://sciencevsmagic.net/geo/#1A0.0A1.0L1.1L4.0L5.3L2.3A6.2...](http://sciencevsmagic.net/geo/#1A0.0A1.0L1.1L4.0L5.3L2.3A6.2A6.3L4.4A18.1A23)

Didn't update circle pack 3, 9 moves in origin circle for me. This is the first one I've encountered that doesn't seem to work.

This is really cool!

</comment><comment><USER6> AFAICT, it isn't very intuitive on how to get started. Why am I told how to undo and redo, when I'm not told how to do?

<comment><USER7> If the cursor was larger than a single pixel, it would make it easier to guess.

Edit: Tiny cursor in chrome. Firefox looks ok.

<comment><USER3> Hi, developer here. I'm not sure why it would give you a single pixel cursor. It should use the pointer (when you are over a point) and a grab hand (for when you are over the background).

I've probably done something a stupid way somewhere and it's not working in certain cases. What browser/os are you using?

EDIT: My chrome is okay (windows 7) but I'll check out a few others. Does the cursor always come out tiny or only in place of one of the pointer/grab hand?

<comment><USER8> My chrome is OK too (Mac OS), pointer/hand seems to work. Cool bit of work!

<comment><USER9> Not ok for me (Arch Linux), in fact, not even a single pixel, no cursor at all!

<comment><USER3> Hmm. Sorry about that. I didn't see it at all during development. I'll do some testing on my Linux Machine when I get home, and can hopefully get it fixed soon.

</comment></comment></comment></comment></comment></comment><comment><USER10> Beautiful! I've had a project like this in the back of my mind for a long time. Give me the ability to define macros/subroutines, and this would be the perfect way to study _Elements_.

Edit: I'm a bit stuck on Circle Pack 4 in 12 moves.

</comment><comment><USER11> What does "in origin circle" in the challenges mean? I drew a triangle inside a circle and it didn't seem to recognise it.

<comment><USER12> I was confused at first as well. It means a circle with its center one of the original two points you are given.

At least I thought so... shouldn't this be circle pack 7 in origin circle?

[http://sciencevsmagic.net/geo/#0A1.1A0.2A3.4A0.6A1.14A4.5A1....](http://sciencevsmagic.net/geo/#0A1.1A0.2A3.4A0.6A1.14A4.5A1.4A2.25A7.7A1.1A6.54A2.26A14.67A6.48A3.56A20.0A87)

Not detected as such.

<comment><USER3> It actually must be a circle with its centre one of the original two points AND the other point on it's edge (so it's one of the two possible first circles you can draw). Sorry that that wasn't clear enough.

<comment><USER5> Thanks for the update! I've replaced one confusion with another... b^)

</comment></comment></comment></comment><comment><USER13> I just can't construct the damn square in 8 steps : I always need at least 9...

</comment><comment><USER14> A compass tells you where north is. A pair of compasses is used to draw circles.

</comment><comment><USER15> Somebody construct a 17-gon!

<comment><USER15> [http://sciencevsmagic.net/geo/#0A1.0L1.1L2.2A1.1A2.4L0.7A0.9...](http://sciencevsmagic.net/geo/#0A1.0L1.1L2.2A1.1A2.4L0.7A0.9L10.16A0.0A16.26L25.1L30.30A1.30L55.1A55.55A1.30L87.109A1.55A109.30L128.133L151.151A133.133A151.30L188.30A0.238A0.0A238.30L276.290A1.1A290.373L372.390A1.133A438.471A0.504A0.0A504.471L567.471L595.595A399.399A595.0L710.N.595L739.739L399.739A399.399A739.399L852.852A399.852L676.676L1.1A676.595A739.595L1029.1029A595.1029L622.622A1029.622L1148.1148A622.1148L1212.1212A1148.1212L1273.1273A1212.1273L1330.1330A1273.1330L1385.1385A1330.1385L1442.1442A1385.1442L1506.1506A1442.1506L1573.1573A1506.1573L1644.676A852)

Ahh! Well you can't say I didn't try. Must have accidentally hit one of the wrong points somewhere in the construction...

</comment></comment><comment><USER16> This is so much fun. Thanks!

</comment><comment><USER17> [http://en.wikipedia.org/wiki/Compass-and- straightedge_constr...](http://en.wikipedia.org/wiki/Compass-and- straightedge_construction)

Things you can't do with this tool:

> Squaring the circle: Drawing a square the same area as a given circle.

> Doubling the cube: Drawing a cube with twice the volume of a given cube.

> Trisecting the angle: Dividing a given angle into three smaller angles all > of the same size.

Understanding _why_ we can know that these things are _absolutely impossible_ is an important part of understanding what formal systems mean and, therefore, the philosophy of mathematics as a whole.

OTOH, getting into arguments with people who claim to have solved those problems is a wonderful introduction to what 'crankery' means in a mathematical context.

[http://www.nytimes.com/1999/02/09/science/genius-or- gibberis...](http://www.nytimes.com/1999/02/09/science/genius-or-gibberish- the-strange-world-of-the-math-crank.html?pagewanted=all&src=pm)

[http://www.crank.net/maths.html](http://www.crank.net/maths.html)

[http://rationalwiki.org/wiki/Pseudomathematics](http://rationalwiki.org/wiki/Pseudomathematics)

[http://scientopia.org/blogs/goodmath/tag/cantor- crank/](http://scientopia.org/blogs/goodmath/tag/cantor-crank/)

[http://meta.math.stackexchange.com/questions/136/how-to- deal...](http://meta.math.stackexchange.com/questions/136/how-to-deal-with- cranks)

<comment><USER18> > Trisecting the angle: Dividing a given angle into three smaller angles all > of the same size.

Unless you allow an infinite number of steps. The limit of the series 1/2 - 1/4 + 1/8 - 1/16... is 1/3 so you can get to it by repeatedly bisecting angles.

Your paper will look quite messy after an infinite number of steps however.</comment></comment>


Ask HN: Mac pro alternatives - <AUTHOR>

I want to get high-end workstation at home for doing data analysis/simulation over large financial datasets, but 4000$K for the latest 6-core seems a little much too me especially considering the capabilities of cloud based computing these days.
However, as much as I want to do everything at amazon I still feel the need for a powerful workstation at home.
So what are some worthy alternatives? Preferably, it comes installed with ubuntu and is quiet. <comment><USER2> What is your budget for this machine? I have been looking at high-end workstation / server configurations for my own use, and for around $1000 for the motherboard and process one can have the essentials for a 12 core machine:

[http://www.newegg.com/Product/Product.aspx?Item=N82E16813182...](http://www.newegg.com/Product/Product.aspx?Item=N82E16813182240) (SUPERMICRO MBD-H8SGL-O Socket G34 motherboard for $244.99) [http://www.newegg.com/Product/Product.aspx?Item=N82E16819105...](http://www.newegg.com/Product/Product.aspx?Item=N82E16819105267) (AMD Opteron 6168 Socket G34 115W 12-Core Server Processor for $769.00)

Total: $1013.99

That motherboard comes with onboard video and dual gigabit ethernet. The only other things required are a case, power supply, some RAM, and some sort of storage. All of this will be a lot less than $4000.

<comment><AUTHOR> I would say 2500$ for a non-apple machine. Yes, building my own is definitely an option, but time is of the essence, so I prefer buying. If I had to allocate a weekend between building this machine or hacking, I would have to go with the latter.

</comment></comment><comment><USER3> Dell with Ubuntu. Not exciting and sexy and whatnot, but powerful (configure it how you want) and gets the job done.

<comment><USER4> I'd have suggested Dell too, two years ago. Not anymore.

The build quality of Dell is not worth money against the likes of Lenovo Thinkpads which seem to never get old and are sturdy enough to last years.

</comment></comment><comment><USER5> I'm actually a fan of the HP Z600 Workstations. You can get dual-processor six-core Xeons, and unlike the Mac Pro, you can start with one CPU (and pick up a second one at a later time).

The case is pretty well-designed, and it's quiet.

<comment><AUTHOR> I have one of the older HP workstations under me at work. I agree they are quite nice. It is definitely an option but with the prices about the same, I am a little biased towards apple.

</comment></comment><comment><USER6> System 76

I got a Core-i7 (quad core with hyper threading, the OS sees 8 CPUs), 8GB of RAM, 164GB SSD, for about $2000

Yes, it comes with Ubuntu pre-installed.

You can get it a bit cheaper with a regular hard drive, but if you're craving the performance, go for the SSD.

<comment><AUTHOR> I was looking at those. Do you have any experience with them?

<comment><USER6> Yea it's my main laptop at home.

I got the Pangolin model, it's not slim, it's probably thicker than a typical Macbook.

Performance wise, it's great. Although my judgement is probably not reliable because the only thing I have to compare against is a 4 year old laptop with a dual core centrino processor.

Usability-wise, there are a few things:

* Keys like ctrl-pageup aren't easily accessible. That's common to all laptops > 14", which is unfortunate. I got around that by configuring the terminal emulator to switch tabs with Ctrl-Shift-H and Ctrl-Shift-L. (On the other hand, none of the macbooks I've seen has the home/end/page-up/page-down readily accessible either).

* The trackpad goes crazy sometimes. This is a given for most laptops (well, except Macbooks). I use touchfreeze to mitigate that.

* The microphone is right next to the trackpad, not good for recording a live streamcast, unless you have an external wireless mouse.

* The proprietry ATI driver is not that good, the open-source driver is better. (I found it somewhat ironic). Nvidia would've probably been better. HD videos don't necessarily play as smoothly as I'd imagined they would. You'll see some tearing on xfce, but gnome on compiz looks fine.

It does generate a lot of heat so I try not to put it on my lap a lot.

But don't let that discourage you.

It's a great laptop, it's not too heavy and it's got a LED screen, which means the picture will look good regardless of your viewing angle.

While not as pretty as a Macbook, it does have a clean and elegant design.

I wouldn't exactly recommend it as an entertainment platform, but that's not why I bought it. I bought it because I wanted a powerful machine that's not too bulky. I wanted a machine that I can move around, get work done on it, and have it be powerful so that it doesn't slow me down.

It can run virtual machines without sacrificing performance (that's a big one).

It can apt-get install stuff without taking too long to read the database (my old laptop used to spend a long time in "(Reading database ....").

It can run tons of programs without ever slowing down. In fact I can't remember it ever slowing down or becoming unresponsive, which is something that I'm not used to.

The SSD really does make a difference. Say goodbye to the sound of the spinning hard disk. (Although you still can't say goodbye to the sound of the fan)

<comment><AUTHOR> Thanks for your detailed response!

</comment></comment></comment></comment><comment><USER7> You can't get a 6-core Mac pro, can you?

Actually, I'm in the market for a new Mac, as I need to do some iPhone dev. Does anyone find the non-replaceable battery to be an issue? That seemed like a real turn-off to me.

Anyone have Hackintosh experience? If I have >2 cores on a Hackintosh, will OS X recognize do proper thread scheduling? How stable are Hackintosh builds?

<comment><USER8> I think you're confusing these:

<http://www.apple.com/macpro/>

<http://www.apple.com/macbookpro/>

<comment><USER7> Thanks, I didn't realize they called the desktop a Mac Pro. I had actually forgotten they built desktops.

Actually, I guess that answers my question about threading in Hackintoshes too.

<comment><AUTHOR> My co-worker has a hackintosh laptop. It is not bad, but every time he updates something, he has to spend time tinkering with it. If you don't mind doing that, you could try that option.

</comment></comment></comment></comment><comment><USER9> Why not build your own?

</comment><comment><USER10> ibuypower.com usually has pretty good deals for high end machines. Decent build quality and they are throwing in free liquid cooling right now.</comment>