Cloudflare Dashboard and API Service Issues - <AUTHOR> https://www.cloudflarestatus.com/incidents/g7nd3k80rxdb <comment><USER2> All our sites using Argo Tunnels go down whenever the API goes down, but the dashboard still claims Argo Tunnels are unaffected :/

At least we'll get a good blog post out of it in a few days.

<comment><USER3> Does Argo help much with performance? How much of a difference are we talking about here?

<comment><USER4> Argo Tunnels are most useful for security: you can serve HTTP from a server that allows no inbound connections. Or, you can use it to reliably serve a public site from behind NAT.

Argo routing's ability to improve page load times depends on how international your user base is, and how poor your origin's transit quality is. It's great at improving the latency and reliability of a cheap host.

</comment></comment></comment><comment><USER5> Update from CEO [https://twitter.com/eastdakota/status/1250479501726760960](https://twitter.com/eastdakota/status/1250479501726760960)

<comment><USER6> How on earth can rented "remote hands" at a datacenter take down the ENTIRE Cloudflare management layer?

<comment><USER7> and for over 3 hours? What could they do accidentally that would cause an outage for this long?

The tweet says they're failing over to their backup facility. I would've expected that fail over to happen much faster.

Seems like they have two issues going on. First, the remote hands could take down the datacenter. Second, their fail over is taking this long to come online.

I also wonder how much Covid impacted the process, if at all.

I'm looking forward to the details after they get things back online.

Good luck CF engineers!

<comment><USER8> Three hours for a _physical_ problem like this is very little time. Once you discover your equipment is not there, you still have to put it on its place, power up, reconnect al cabling, and check networking.

From this kind of mess to a fully functional infrastructure you need at least 12h-16h to function minimally. Probably takes 2-3 days to have that node working as before.

When I was on call, I always jocked with my colleages the worst incident you could have in a datatenter was someone swapping two cables.

</comment></comment></comment></comment><comment><USER9> I wish cloudflarestatus.com (powered by StatusPage) offered a subscription (like [https://status.box.com/](https://status.box.com/), also on StatusPage) so you could get a pro-active notice about outages.

I had to debug customer issues to find out that this was down.

Even if they don't want to offer this to the general public (free customers), they should have another notice mechanism for enterprise customers.

<comment><USER10> StatusPage has native Subscriber Notifications [0]. Cloudflare must not have it setup on their end.

[0] [https://status.io/features](https://status.io/features)

<comment><USER11> Wrong URL, Statuspage is at [https://statuspage.io](https://statuspage.io) :)

</comment></comment></comment><comment><USER12> It's triggering the regular cloudflare error when trying to access their dashboard.

Error 522: If you're the owner of this website: Contact your hosting provider letting them know your web server is not completing requests. An Error 522 means that the request was able to connect to your web server, but that the request didn't finish. The most likely cause is that something on your server is hogging resources.

I can't wait to see the postmortem, I wonder if it's a DDOS, network/hardware issue or a deployment error

<comment><USER13> They've added the cause on their status page now: > [...] a disruption that occurred during a maintenance.

[https://www.cloudflarestatus.com/incidents/g7nd3k80rxdb](https://www.cloudflarestatus.com/incidents/g7nd3k80rxdb)

</comment></comment><comment><USER14> This has broken publishing in our app, which purges the file from the Cloudflare cache when something is republished. We're ignoring errors from the Cloudflare API, but that isn't enough in this case because it isn't returning an error – it's just hanging till the request times out.

We're pushing an emergency config change to skip the cache invalidation, which will stop it timing out but means republished projects won't update (because the old version will still be cached).

Godspeed to the Cloudflare engineers who are presumably scrambling to fix this!

<comment><USER15> Do you not have some kind of task runner you can offload this to? That seems like it would be of general benefit.

<comment><USER14> The trouble with returning to the user before the cache has been purged is that they think it hasn't worked, because they still see the old cached version.

<comment><USER15> I'm probably missing something but it sounds like cache invalidation happens on republishing, not on user request for content.

<comment><USER14> You're absolutely right. But user requests for content are made directly to Cloudflare, not through the app, and it's common for users to click directly through to the published content after republishing.

<comment><USER15> Ah, that makes sense. You could store latest task status per content in your database and have a JavaScript component that polls and shows a message if cache invalidation is incomplete. But for how often Cloudflare goes down, it's probably not worth it.

</comment></comment></comment></comment></comment></comment><comment><USER16> Can't clear our cache via api or manually, so our cached HTML pages are stuck until the natural expire happens -- which are set somewhat long. Not great for a blog / news site. for example, if we publish a story, our front page won't reflect it.

</comment><comment><USER17> Coming back now.

</comment><comment><USER18> Postmortem thread: [https://news.ycombinator.com/item?id=22884833](https://news.ycombinator.com/item?id=22884833)

</comment><comment><USER19> By degraded performance it means down completely.

<comment><USER20> Yeah, dashboard still appears to be completely down.

</comment></comment><comment><USER21> > "Cloudflare is continuing to investigate a network connectivity issue in the > data center which serves API and dashboard functions."

This implies that CF hosts its API and dashboard all in one DC, which I find an _interesting_ observation. One would expect a company like CF to host its critical infrastructure in a redundant fashion.

<comment><USER22> It's certainly not ideal. But it's not unusual to spend a lot more time on making the runtime very redundant, but less time/money on dashboards and configuration change underpinnings. Doesn't work well in this case since it kills invalidating cache items for customers.

The comments seem to imply that having a redundant way to refresh the page cache, even if it were global/domain versus page, would be an okay backup for many.

<comment><USER21> I agree that first priority would be data integrety (which would be the runtime). But a large part of the CF experience of a CF customer would be the availability of their management APIs/dashboards, and that would be another part to optimize for.

I'm really suprised that they hosted all those non-vital but still quite critical services in just one DC, or somehow had one DC as a single point of failure. Network issues happen "regular enough" to want to protect against that, or at least have mitigations available.

<comment><USER23> To be fair, you have these latent single points of failures even in the most resilient distributed systems.

Such as S3. The bucket names are globally unique, which means that their source of truth is in a single location. (Virginia, IIRC.)

Now... a small thought exercise. If I wanted to take down a Cloudflare datacenter and I had access to a few suitably careless remote hands, I'd take out the power supplies to the core routers, and while the external network is out of commission, power down the racks where they have their PXE servers. That should keep anything, within the DC, from being unable to recover on its own.

</comment></comment></comment></comment><comment><USER24> The pushed a change to fix the DNS propagation 45 minutes ago[0]. Edge servers continue to proxy but no new records are being served.

[0][https://www.cloudflarestatus.com/incidents/57shkf1841kh](https://www.cloudflarestatus.com/incidents/57shkf1841kh)

<comment><USER25> Noticed this yesterday around 5pm EST.

Edit: Also noticed that when generating API keys, the dropdown wouldn't list all my accounts for setting permissions. Just assumed it was all related or something.

Either way, overall super insanely reliable product/service and could not live without.

</comment></comment><comment><USER26> All DNS APIs are failing :(

<comment><USER6> As are our CircleCI piplines that call out to Cloudflare.

Time to get some fresh air!

</comment></comment><comment><USER27> While they are fixing this, could they please roll out a feature to allow me to assign users to only specific domains? Biggest complaint about Cloudflare, heck even GoDaddy lets you do that at no cost.

<comment><USER28> You can, but only once you upgrade to Enterprise - the delegated dashboard per-zone access functionality is part of their business model.

See: [https://www.sec.gov/Archives/edgar/data/1477333/000119312519...](https://www.sec.gov/Archives/edgar/data/1477333/000119312519222176/g735023g16s02.jpg) (RBAC)

<comment><USER27> I said at no cost. Other registrars/DNS providers provide this for free.</comment></comment></comment>


How to Test Private Functions in JS Modules - <AUTHOR> http://engineering.clever.com/2014/07/29/testing-private-functions-in-javascript-modules/ <comment><USER2> Using the NODE_ENV is nice simple solution but when you need more there is a great dependency injection module called rewire that adds a special setter and getter to modules so you can modify their behavior such as: inject mocks for other modules or globals like process, leak private variables override variables within the module.

This is especially nice because you don't need to add any special if statements to the module code you just load your module under test using rewire instead of require.

// file: test-stats-rewire.js

var rewire = require('rewire');

var assert = require('assert');

var stats = rewire('./stats');

// leak private method sum for testing

var sum = stats.__get__('sum');

assert.equal(sum([1]), 1);

assert.equal(sum([1, 2, 3]), 6);

</comment><comment><USER3> If you really want to buy into the module pattern, it seems like anything that's enough of a unit that you'd want to test could be in its own module.

In the example given, the sum function could be its own module that you require into the stats module. That way you could test them independently, and the stats module could simply expose its own appropriate methods.

This has the added benefit of making the sum function reusable.

Personally I prefer this approach to introducing environmental concerns into your code.

<comment><AUTHOR> That's a great point. I definitely agree that erring on the side of modules is better. I just worry about times when the purpose of a module is not clearly defined at the outset (e.g. when it only contains one function that is only used in one other module). I have often seen that devolve into the "helper" module, where random functions collect.

I'm also not sure I buy the assertion that all code you would want to test is code you would want to export publicly. Do you have any reasoning to support that idea?

<comment><USER4> > I'm also not sure I buy the assertion that all code you would want to test > is code you would want to export publicly. Do you have any reasoning to > support that idea?

All code you would want to test (or, even, to have exist) is either code that is in publicly exported functions or code whose pathways can all be exercised via interaction with the publicly exported interfaces, since code pathways that are neither in publicly exported functions nor reachable through publicly exported functions is _dead code_.

If its not testable via the public interface, it shouldn't exist.

<comment><USER5> What if a public function is very complicated—too complicated to be considered a unit—and it calls several simpler private functions? Those helpers should be tested with their own unit tests, but shouldn't be exported.

It's not just about coverage in terms of code execution; you also want the right test "resolution", so you can quickly find the level of abstraction where a bug is, and so you can prove correctness of the parts of a complicated function as you build it.

<comment><USER6> The other side of this, though, is that you're now coupling your tests to the implementation of your solution and not the interface you want to present. You can't simply refactor your code to improve it; you will also have to find the failing tests, remove them, and write new ones for your new private functions, all while the public behavior of your system has remained working perfectly.

That's my primary reason for not testing private functions.

My alternative is simple, and has been stated elsewhere in the thread; if a function rises to the level of complexity of really needing its own tests, then it probably should be exposed as a public function _somewhere_ in my system. Otherwise, I haven't factored the problem properly yet.

<comment><USER7> Exactly...coupling is more detrimental than one would think. As your codebase gets larger and more developers on-board and features change, what should have been a simple refactor can turn into a nightmare as your test suite starts to give false negatives because you've changed the implementation or removed a now unused private function that your tests relied upon directly. Writing unit tests directly against private functions is a good way to ensure your team's velocity doesn't scale as well as it should.

Unit tests will serve you better when written to assert results rather than implementation details.

</comment></comment></comment></comment></comment></comment><comment><USER8> Very cool solution! I've also seen claims that the private methods of modules should not be tested, since they don't represent the public interface of the module and refactorings are likely to change the private methods. If the private methods are complicated enough to warrant testing on their own, ideally they should be extracted into their own module. Not sure if I agree but it's something to think about!

<comment><AUTHOR> What if the private methods are complex but also module-specific? For instance, if they deal with a data type that is private to the module?

When you pull out complex code like this into another module, how do you specify that the new module is actually private to the old module?

</comment></comment><comment><USER9> Don't test methods. Test behaviour that stands behind them. Unit in "unit testing" stands for behaviour not method/function. Private methods are private because they should not be exposed outside, never. Changing internal implementation of module should not crash test suite.

</comment><comment><USER10> Why aren't you discussing the es6 loader which is available now?

[https://github.com/ModuleLoader/es6-module- loader](https://github.com/ModuleLoader/es6-module-loader)

It can deal with both AMD and CommonJS modules, as well as es6 import/export. It does not need traceur and will work with today's JS. And is built upon the standards based System.js which basically provide loader hooks for node, JS, and even Web Components if they so desire.

It is sure nice to get rid of the forrest of <script> tags and not be concerned about order of dependencies.

</comment><comment><USER11> I gave a lightning presentation on this subject last month. A better solution is to put the private methods into (sub)modules. This makes them public to the file system and gives you the ability to tune what you make public via your module API. Ideal for testing purposes and good for module structure in my opinion. The slides can be found here: [https://speakerdeck.com/qubyte/writing-testable-private- meth...](https://speakerdeck.com/qubyte/writing-testable-private-methods-with- node-dot-js-modules)

<comment><USER11> P.S. see option 3 in that presentation.

</comment></comment><comment><USER12> exposing methods for the purpose of testing is bad design, whether or not you are only doing it in a test environment. if you have a method that is sufficiently complex and warrants its own testing, put it in it's own module file and test that module file on it's own - no need to break your design and modify your runtime module exports based on runtime environment checks

[http://lostechies.com/derickbailey/2014/01/03/semantics- modu...](http://lostechies.com/derickbailey/2014/01/03/semantics-modules-and- testing-why-and-how-i-test-internal-components-not-private-methods/)</comment>


Betrusted: A Security Enclave for Humans - <AUTHOR> https://betrusted.io/ <comment><USER3> I almost missed that this project is supported by Andrew "Bunnie" Huang.

That alone has me very interested.

As most ycnews readers already know Andrew has made it his mission to direct his considerable talents on projects that push up against oppression - <USER2> of focusing his energy on helping unicorns. I'm a huge fan/supporter of his work (e.g. Novena, NeTV, Safecast) and will likely pick one of these up when it goes GA.

<comment><USER4> And funded by NLnet. At the bottom of the linked page:

The Betrusted team is funded in part by the NLnet Foundation via Privacy & Trust Enhancing Technologies grants.

</comment></comment><comment><USER5> A TPM is not a "secure enclave." It is a smart card bonded to the motherboard, used for platform attestation, and some basic encryption. It provides no enclave to speak of. (Maybe they meant SGX or TrustZone?)

<comment><USER6> I think the word enclave is just being used in more then on way. I have seen that "secure core" many ARM devices have being referred to as secure enclave and secure coprocessor which both isn't quite right but people go with it anyway.

(I mean that additional Cortex-M0/3? core which run in a super previleged mode and often implements the EFI, DRM bs, and sometimes a TPM module)

So I guess we just have to live with it ;)

Edit: through yes secure enclave, secure element and TPM are not the same but they have in common that the represent mistrust in the rest of the hardware.

</comment></comment><comment><USER7> Phones are such incredibly personal devices. This should be what your phone is but economics has made phones untrustworthy because of their complexity.

So I've always wondered why we haven't seen more projects like this.

In my opinion, they should drop the hardware keyboard in favor of a d-pad or a few Yes/No type buttons and an onscreen keyboard. If the hardware is to be trusted this shouldn't matter to the trust calculus. And the market has proved the blackberry segment is niche.

<comment><USER8> My guess is that there isn't a very big addressable market for privacy, and hardware requires a lot of up-front investment. It has to be someone who believes that the world will be better if it exists, not simply the highest $/hour ROI on building it.

There is more money in surveillance, as we've seen, than privacy.

<comment><USER9> Oh, but people care about privacy. Just not enough, to pay significantly more money for it and suffer performance loss.

But this is also because a mobile is a black box for them, and it would give them a big headache to try and understand that site about that phone. In the end, for them, they still have to trust the developers, so they stick with the ones they know by the corporations.

</comment></comment></comment><comment><USER10> I really like the idea of using something like as a U2F authenticator that allows me to define a additional local PIN. There are whole number of application this would be useful for.

I strongly recommend this talk by Andrew "Bunnie" Huang it gives a lot of background on his thinking about Open Hardware/Software:

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

<comment><USER11> fwiw in fido2, successor of u2f, you can opt in for an additional pin on your security key.

<comment><USER10> Yes, that was what i was referring to. Sorry if that was not clear.

</comment></comment></comment><comment><USER12> Related from yesterday: [https://news.ycombinator.com/item?id=21891056](https://news.ycombinator.com/item?id=21891056)

Video: [https://news.ycombinator.com/item?id=21898061](https://news.ycombinator.com/item?id=21898061)

</comment><comment><USER13> 36C3 - Open Source is Insufficient to Solve Trust Problems in Hardware

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

</comment><comment><USER14> Bunnie's blog post has really good description of it as well [http://bunniestudios.com/blog/?p=5706](http://bunniestudios.com/blog/?p=5706)

The FPGA is the weak link as he says. Everything else is cool (like the physical keyboard and LCD you can inspect with a light) but you can't validate the FPGA. I'd assume it'd be harder for a threat actor to compromise (make a compromised FPGA would take more resources than compromising the keyboard, etc)

</comment><comment><USER15> This feels like the future to me. Today's smartphone platforms have given a canonical ID to the user, and often their location. Location tracking is starting to become a really hot issue for the general public. I think its a gateway drug to digital security. The model of a dedicated secure device that uses external communications accomplishes a lot technically, but also 'fits' comfortably in the habits of millions of people. Such a device could fit right in with phone, wallet, and keys, and it could be an ideal tool for storing your on-the-go crypto. People trust things they can touch and can audit.

The first team that can ship a universal, secure hardware wallet that 'just works' for $50-$150 could sell 5 million units in a year. In 7 years there could be billions of them, selling for $10+ a unit; a consumable like a traditional wallet.

I would keep one on my person at nearly all times, and have it replicate state to another at home, and a third in some vault service (like a connected safety deposit box). They devices would establish a physical pairing by creating an irreversible key-pair on the hardware itself. The replication could be a sequential log (like mysql binlog or git), and the integrity of that log could be additionally verified by bringing the devices within close proximity. All that is to say, there needs to be a secure, peer-based way to mitigate inevitable loss, damage or theft of the physical device- without centralizing the data or losing state. It would do well to be dummy-proof and make fun sounds when performing the above pairing and verifying operations. Megacorps shouldn't get to be in charge of syncing everything for us.

Let's take back the autonomy that has been stolen from us during these awkward teenage years of a digitally-driven society, and this time let's keep it in our own hands.

</comment><comment><USER16> Interesting to see a mobile hardware keyboard with a Dvorak layout.

</comment><comment><USER17> Interesting. But it seems like it would add a lot of attack surface if all these things are within the secure enclave.

</comment><comment><USER18> I am confused by the threat model here. It seems that we want to assure (among others) confidentiality of the data the user is inputting. However, I don't think any of the planned data input channels would be hard to eavesdrop on from the POV of the user's phone:

a) input via hardware keyboard, if the betrusted is a part of the phone case, should be simple to eavesdrop on based on microphone and/or accelerometer readings in the phone: different keys on the keyboard will likely be different enough. b) input via voice can be eavesdropped on by the phone' microphone.

Do I misunderstand the guarantees betrusted intends to provide or something else?

<comment><USER19> [https://www.youtube.com/watch?v=Hzb37RyagCQ](https://www.youtube.com/watch?v=Hzb37RyagCQ)

He starts talking about betrusted at 30:00

</comment></comment><comment><USER20> Impressed by the practical approach the author is taking to this problem.

Please add: \- Hardware switches for RF modules as well as microphones \- Separate RAM for baseband SOC

</comment><comment><USER21> So as I read this, this is a device you have to carry next to your phone for your secure communications. Sounds interesting and for the security minded, it seems it could have some real added value. But for the average consumer it adds a layer of inconvenience that you don't want when contacting your grandmother. Are high powered individuals with strict security requirements the target market for this device?

<comment><USER22> Any device (or software for that matter) which makes a security one of its selling points, is not aiming at the mass market.

</comment></comment><comment> irq-1 Could this use a software keyboard? If so, it could eventually be incorporated into phones; I'm thinking of a SOC that takes complete control of the screen, bus, etc...

<comment><USER23> Samsung already did this with some ARM core that could get complete control. How do you know you're not looking at a software emulation of the secure elements display though?

<comment><USER24> There could be an LED controlled by the secure element that indicates it has control of the hardware.

<comment><USER23> It's a matter of training the user to look for that though.</comment></comment></comment></comment>


Ask YC: When did you start having interesting ideas? - <AUTHOR> The other day I was trying to recall examples of specific interesting ideas I'd had before I started keeping an idea journal, which was around the time I went started college. The funny thing is that I really couldn't come up with much of anything. There was an essay that I'd posted on my homepage about an insight I'd had my freshman year of high school, but that was the earliest specific example of a non-trivial idea I could remember having. So I am still trying to figure out whether I just didn't start having interesting ideas before a certain point, or whether I did have interesting ideas but have just forgotten them all because I didn't write them down. I'm leaning toward never having had interesting ideas in the first place, but it's difficult to say. There seems to be a lot of cognitive research on ability to remember specific tangible events and routines from childhood, but not so much on ability to remember one's early ideas.
So how do I define an interesting idea? As a working definition, I'd say a prerequisite is that it's something novel. Maybe not totally unique, but at the least the kind of idea where you say, wow, I bet maybe maybe a few dozen or a couple hundred people have had this same sequence of thoughts before.
Examples: Seth Godin had an interesting idea the other day that as the price of gas increased and telecommuting became more common, the expectations for the quality of in-person interactions is going to increase accordingly. Nothing super complicated, just a simple cause and effect, but still I think it meets the minimum level for being novel and interesting. Seth comes up with a lot of novel ideas. Edge.org is filled with them.
I don't want to give any definition that's too precise though because I don't want my preconceptions to bias others. Other people obviously spend their time thinking about different stuff than me, so the set of things that qualify is probably larger than anything I'll be able to clearly articulate.
So when did you start having interesting ideas? What was the first non-trivial idea you ever remember having? <comment><USER2> You can have an interesting idea _any_ time. Problem is you may not even realize that you just had an interesting idea when you had it.

The journal is an excellent idea. I write everything down. When I look it over later, I'm usually embarrassed that I could have thought of anything so lame. But every once in a while, there are a few gems in there.

I always have pencil and a small notebook next to the bed. The best time for me to get good ideas is as soon as I wake up. The second best time is right before I go to sleep. I carry index cards and a pen at all times during the day, just in case.

The other important ingredient in good ideas is to get out there and experience things. All the time. You never know which inputs will spawn ideas, so get lots of inputs.

My best ideas have usually come when I see how something is and think, "There must be a better way." Then I let it lie dormant inside and trust my "inner self" to come up with something when I least expect it.

(My best hacking ideas ever came from the first time I saw a code generator. Simultaneously I thought, "That is so cool!" and "It can be so much better than that.")

<comment><USER3> So very true. I think experience gives you the knowledge to recognise when something can be done better because without it you just think that this is the norm and how things are. Throw in a dash of frustration just before "there must be a better way" and you have yourself an idea with determination behind it which _is_ going to solve that problem.

I always have a bunch of paper in my back pocket for writing stuff down on the spur of the moment and then I develop the idea as a mind-map, sleep on it, and then develop it some more.

</comment></comment><comment><USER4> I was about six years old when I remember thinking to myself: I have a lot of great ideas. All I need is an 8 or 10-year old to help me make them cause I'm too young.

I'm sure the ideas weren't that great, but the critical thinking is more important.

<comment><USER5> I remember when I first "discovered" RLE, 8 or 9 years old, sitting in the backseat of my parent's car in this parking lot:

[http://maps.google.com/maps?ll=41.764966,-87.724457&spn=...](http://maps.google.com/maps?ll=41.764966,-87.724457&spn=0.003161,0.00824&t=h&z=18)

<comment><USER6> What is RLE in this case? Run-length encoding?

<comment><USER5> Yes.

</comment></comment></comment></comment><comment><USER7> I started writing ideas in blue books when I was very young (like 7 or 8). Most were stupid, but a few were good at the time, and in fact later become commercially available products. Of course, I always thought "Hey! I thought of that first, but I'm eight and can't do anything about it".

I only did this sporadically (regrettably - not only would I have a lot of ideas by now, but I'd have something humorous to look back at and/or give my kids), but I started having lots more ideas toward the end of my undergrad time and during grad school. My idea generation dipped for a while after grad school because, you know, life gets in the way. But it has picked back up again as my life has stabilized and I've started keeping a tiddlywiki of ideas. Most bad, a few good. None brilliant.

First non-trivial idea? I don't remember. I think it may have had something to do with a novel way of feeding cows or something like that (I grew up on a semi-working farm). As if cows need a new way to eat.

</comment><comment><USER8> I've always found a lot of my ideas interesting; it's just that for most of them I eventually proved them to be bad ideas.

Also, interesting ideas are rarely individual insights but usually come from merging two or more different ideas in a new way to create something genuinely cool.

<comment><USER9> "Also, interesting ideas are rarely individual insights but usually come from merging two or more different ideas in a new way to create something genuinely cool."

There you have it. It's hard to think of interesting ideas we had in the past because we tend to think of ideas as atomic, but those kinds of insights are pretty common and thus not so interesting, it's usually when you have a complex set of inter-related ideas that something really significant and interesting can emerge.

</comment></comment><comment><USER10> I guess your definition of "interesting" shifts as you mature. I bet I had a load of interesting ideas when I was 14 that I would no longer find interesting now, 10 years later.

I think a lot of the ideas I had as a teenager were basically things I discovered independently, usually in awkward or incomplete incarnations, but would have been "obvious" to someone more educated and older. Or if not obvious, at least fairly easy to research or look up. (linear algebra particularly stands out as one of those things that, had I known it, I would have saved myself weeks of effort)

I wonder whether I'd be better at what I do now if I'd had access to the internet earlier (thus skipped a load of "unnecessary" hard work) or later. (thus developed my capacity for independent thought further) Given my acute case of "programmer's block" right now I'm leaning towards the latter. :-/

</comment><comment><USER11> I was 4-5. I was drawing these grand fountains and water works systems and my grandfather looked at one and saw that water was flowing uphill and explained in basic terms gravity and the Archimedes principle to me.

After that I always wanted to be correct in my drawings so I got interested in children science books. My mom read me kids science stories/tales. I preferred them to fairy tales.

I was 9. I remember imagining how it would be cool if instead of cells my body consisted of tiny robots that intermeshed together and substituted for various bodily functions. Sorta like nano bots I came to learn about 15 years after

I was 10. it was 1988. Soviet Union. I kept drawing a small submarine with all the life support, buoyancy and structural elements I could think of. I wanted to swim from Chukotka/Kamchatka to Alaska

<comment><USER12> > _I was 4-5. I was drawing these grand fountains and water works systems and > my grandfather looked at one and saw that water was flowing uphill and > explained in basic terms gravity and the Archimedes principle to me._

Good thing he wasn't M. C. Escher's grandfather! :)

</comment></comment><comment><USER13> When I was 8 or 9 I came up with a basic design for a perpetual motion machine (it involved little dynamos on a track, and a ball running back and forth over them). No, I didn't use the term "perpetual motion machine". Anyway, I explained it to my mother who said it wasn't possible.

Well, if I have a kid, I'm going to buy him some dynamos and tell him to build that sucker.

<comment><USER14> A good friend of my father's reminisced about how when I was 6-7, I would show him my notebooks full of perpetual motion machines.

</comment></comment><comment><USER15> When I started reading voraciously, I started having better ideas. Reading is a conversation with an author. Most business and entrepreneur-themed books don't offer new ideas, but they're new to you. When you swirl them around in your own head, you'll have better ideas. For me, I always need to visualize ideas to, so I paper prototype a lot.

<comment><AUTHOR> "When I started reading voraciously, I started having better ideas."

I've noticed this too.

<comment><USER16> Reading several books at a time - interleaving chapters - makes me see new connections.

</comment></comment></comment><comment><USER17> If you're efficient about coming up with interesting ideas, you'll come up with a lot that are just outside the bounds of what's obvious, given your current knowledgebase. When you're younger, not only is your knowledgebase relatively small, but there have also been a lot of people with very similar knowledgebases before you... the result is that that space is pretty heavily tapped, and most of the "actually interesting" ideas you can have are well known to more knowledgeable folks. Before you learn enough to have an interesting starting point, the odds are against your getting interesting results.

<comment><USER17> In other words, there's at least factor beyond your control in having an actually interesting idea: You can't control what's ultimately considered interesting for its time.

</comment></comment><comment><USER18> For me it's not only interesting when i started having ideas (probably because I can't really remember) but also when I'm having "interesting" ideas...

For me it's mostly when I'm stressed out. For example when I was learning for exams I very often had interesting ideas I started to dissect and analyze. Even though the ideas were interesting and intriguing, I quashed most of them because from a business perspective (and that is my background) I could see the idea prosper. I too write most of my ideas down so I can use them later or use them as inspiration.

</comment><comment><USER19> I'm guessing around 10 years old (but perhaps even earlier) when I decided to design and build a briefcase containing various hidden compartments.

I also remember, before that, reading Splinter of the Mind's Eye and being impressed that Luke could recharge his lightsaber from Han's blaster and spent a long time working on designs for universal plugs and sockets that would allow arbitrary recharging between devices. I am still waiting for this to be possible.

But well before that (say around 6-7 years old) I recall drawing devices (just can't tell you what they did!)

</comment><comment><USER20> When I was 5-7 I would always take apart any broken electronic and try to figure out what it did. Obviously, except for understanding the connection between the parts, LEDs and switch most of the stuff didn't make much sense.

But my goal was to understand electronics enough to modify a cell phone, so I could use it as a telephone jack that I could plug in a laptop (wireless 56k modem). I though it could revolutionized the world.

Obviously this wasn't the best approach for this problem, but I was still pissed when I saw the first wireless internet cards from Telcos.

</comment><comment><AUTHOR> So for me the specific example I was thinking of was this:

"it's damn hard to get into an Ivy League school. Even valedictorians and kids with perfect SATs are rejected from their top picks every year. But athletes got into the best schools even with mediocre grades...

Let's think about this logically. To get into an Ivy as just a student you basically need straight A's, 1400 SATs, and lots of extracurriculars. This meant I'd have to go to school eight hours a day, do two or three hours of extracurriculars, and then go home to six or so hours of homework. As an athlete A's and B's are fine as long as you don't have any C's, and you don't need any major extracurriculars other than your sport. That's what the coaches will tell you when you're being recruited at least, but in reality a couple C's are usually fine if you just want to go to an Ivy but you don't much care which. This would require going through the motions of being a student, and then practicing a couple hours a day year-round. Same result, less work, more fun!"

The logic behind this doesn't really make sense unless you're stuck in the mentality of a zero-sum world. That said, this thinking seems to have been a precursor of sorts to later and more interesting musings on zero-sum systems.

I can only remember a handful of specific ideas I had before that which I'm still vaguely impressed with today.

</comment><comment><USER21> I honestly don't remember, but my mom swears I 'invented' the idea of a maglev train when I was five or six. Although, according to the drawing I made at the time, my solution for keeping the train on the tracks was to build walls on either side, so I'm not sure how I expected people to board or exit the train :D

<comment><USER22> Typical train platforms are tall enough to keep a train on the tracks. Five- or-six-year-old you may have had that in mind. Maybe you accidentally drew the walls too tall.

[http://ourdoings.com/brlewis/photo.html?th=jx/sb/svx2.jpg...](http://ourdoings.com/brlewis/photo.html?th=jx/sb/svx2.jpg&d=2007-12-20)

</comment></comment><comment><USER23> I started to have good ideas since I am inspired by games in the Kindergarten. The same way I have ideas today. I feel that they are good and when I try to think about it, I know why ... they are often new "Mashups" of existing techniques and ways to do things.

</comment><comment> a-priori Interesting ideas? I don't know, at least before age 8. I know that because at that age I was drawing designs for flying machines based on something I heard about a supposed link between electric charge and gravity... in other words, either pseudoscience or taken out of context (high-energy physics, maybe?).

I realized this when I built an apparatus to test it: a crude Van de Graff generator on a scale. I ran it for a while but despite building up a small charge (it ran on a 9V battery), the weight remained unchanged. I was disappointed.

Over time, my ideas have become more practical. Still, I occasionally have urges to create a bipedal robot or a better coffee machine :)

</comment><comment><USER24> I've found that interesting ideas come mainly from current life experiences combined with something that happened to you in your past. By this I mean current inspiration (ex: weekend snowboarding trip) that brought about a great idea for a product, then that idea is refined by your beliefs of what you feel a great product should really be. These beliefs are mostly derived from your childhood believe it or not. But most of all interesting ideas come from finding interesting things in the day to day grind.

</comment><comment><USER25> My interesting ideas in life always came when there were girls around I wanted to impress. As I get older, they come not so often. I read that the most inspired works of Romantic and Classical composers were all written before age 25 with a big exception being Beethoven's and Mozart's final symphonies. It's believed the inspiration behind those symphonies was brought on by the illnesses that killed them.

</comment><comment><USER26> When I started asking interesting questions. :)

</comment><comment><USER27> Could you point out some examples of this research? I guess it has something to do with events and routines being episodic memories, whereas abstract ideas is more of a metacognitive/executive task?

Actually, the ideas themselves would be declarative, if there were details involved. Now I'm confused. Would like to read about.

<comment><AUTHOR> I'm not really sure what area of research this would fall under. The closest I can think of is "infantile amnesia," although that would be a stretch. As far as I know there is no established way to classify ideas, so that would make this a question not very well-suited for academic research. Actually, one of the reasons why I asked is because I'm interested in looking for patterns in what people consider to be interesting ideas. So far there are a lot of parallels with the answers that people here have been giving for the "what have you discovered" question, which is amusing, albeit not especially surprising.

If you are interested in infantile amnesia though, this paper is kind of interesting and gives a decent overview of the different theories:

Harley, K. & Reese, E. (1999). Origins of autobiographical memory. Developmental Psychology, 35, 5, 1338-1348.

<comment> a-priori According to my understanding of Piaget's developmental stages, the earliest a child can have "inventive" thought is in the concrete operational stage. Children enter this stage during school years, but before puberty. It's during this time that children begin to grasp basic scientific concepts like conservation of volume.

However, I didn't pay all that much attention in developmental psych, my textbook isn't handy, and the Wikipedia article is not all that helpful. :)

<comment><AUTHOR> Researchers have found that most of Piaget's milestones actually happen much earlier than he had thought. Basically new methodologies have been invented to simplify the questions so that children can show competence at an earlier age. Before many children had been failing to perform at things they were able to do because the tasks involved ancillary things they were incapable of, for example they relied on background knowledge that wasn't there or unrelated motor skills that hadn't yet developed. I'd be interested in seeing what Piaget's methodology was compared to the current state of the art in terms of measuring inventive ideas.

</comment></comment></comment></comment><comment><USER12> Probably around age 4, although at the time, most of them had to do with aliens, robots, and dinosaurs.

</comment><comment><USER28> I realize it's not the main point of this question, but I don't get the Set Godin's idea. If more people were telecommuting, then the in-person interaction would become more scarce, therefore more demanded, so the expectations for the quality would be lower I would think?

<comment><USER16> You would expect that your counter-party puts in more effort, I would say.

</comment></comment><comment><USER29> Every interesting idea I get, later turns out to be a rehash. Especially the ones I fall in love with. It's some kind of deficiency, wonder if it can be cured.

<comment><USER16> ... or used!

</comment></comment><comment><USER30> Junior in high school as I read Aristotle's Ethics.</comment>


Why Are Geniuses Destroying Jobs in Uganda? - <AUTHOR> https://www.cgdev.org/blog/why-are-geniuses-destroying-jobs-uganda <comment><USER2> <Then a wage of $4 would attract people from countries in the world, including large countries like Mexico, China, Brazil, India, Indonesia, the Philippines.>

What nonsense.. how can anyone expect a truck driver to survive on a wage of $4 an hour in the US.

<comment><AUTHOR> These are price adjusted figures. So your truck driver could buy double the goods in the US on $4 compared to back home. If he could survive on $2, he can certainly survive on $4.</comment></comment>


Overthinking - <AUTHOR> http://aentan.com/design/overthinking/ <comment><USER2> The space pen affair is a well known urban myth, see for example <http://io9.com/5838635/the-million-dollar-space-pen-hoax>

The second example is funny but it is a classic example of misdirection. It is made out to be about mathematics but has got nothing to with it. How exactly is that about overthinking something?

The third example is a ingenious solution by the author himself, a solution that is the product of thinking hard about coming up with a simple solution - hardly a case of whatever the opposite of overthinking is. If anything it is the opposite - just slice it up into 12 bites and take a small piece each of the last bit. If it's a mathematical question a mathematical approach seems more than reasonable.

All these examples seem to me to be weak examples of overthinking.

Here is a much better example of overthinking in my opinion, The Centipede's Dilemma:

 _A centipede was happy – quite!

Until a toad in fun

Said, "Pray, which leg moves after which?"

This raised her doubts to such a pitch,

She fell exhausted in the ditch

Not knowing how to run._

From <https://en.wikipedia.org/wiki/Centipedes_dilemma>

<comment><USER3> The part about the string made me smile a bit, because I guess there aren't too many climbers on Quora. As any salty old trad climber knows, it only takes a couple of wraps around an object before the rope (or string in this case) becomes fixed to the object.

So unless you're lucky, the process would actually look like: take string, make space between thumb and index finger, wrap some number of ... oh, darn, it didn't come out even at all ... rats, can't move my fingers ... OK, start over, let's make the fingers a little farther apart ... wait, rats, didn't get 11 even wraps that time either ...

(I experimented with this before posting my comment, just in case.)

Or you could, y'know, take the string, measure the circumference, divide by 11. Or, you could throw away the string, take the diameter of pizza -- which is written in black marker on a tin or cardboard round and displayed on the wall at every pizza joint I've ever been to, I think -- and multiply by 3 and divide by 11 and space your cuts about that far apart.

There's a lot of good stuff out there on the benefits of "thinking like a child" -- learning to clear your mind of the preconceptions and opinions and expectations that we tend to develop as we get older. I don't think this post was a step in that direction, though.

<comment><USER4> or just loop the string over 1 finger 11 times?

<comment><USER5> Since the string is of a fixed length, that only works if you finger's diameter is 1/11 of the pizza's diameter.

<comment><USER6> He means hanging from the finger, not tightly wrapped.

</comment></comment></comment></comment></comment><comment><USER7> It's not overthinking, it's called context.

If you give an engineering problem to an engineer in a corporate environment, he will try to do what he's been told to be a good job: good precision and low cost, complexity not being a problem as far as the solution is achieved. If he's given 1 hour, then using 59 minutes is just as valid as using 5. And rightly so.

As for the numeric problem, same thing. You are not giving a measure of "goodness" and you are not providing rules. I'd go ahead and fill in 2581 = fuck_you , where fuck_you is a constant defined as 3.15. That's a point-wise defined polynomial there. Voila, solved in 3 seconds. Just as valid as making up something as arbitrary as counting loops in a given numeric representation. Also, I'd bet the house I don't own that if I give that in a paper to a kid with no instructions he wouldn't come up with that "solution" - ever.

In the (urban legend) problem about the pen and pencil in zero-gravity, there is context. The objective is to take notes. It's a real world problem with a fixed solution, so yeah, just using a pencil would be a much better solution than engineering a special ballpen. An engineer can and should be expected to solve that. Engineers are expected to solve real world problems and consider real world situations and realistic expectations.

<comment><USER8> I think it's totally relevant, I have worked with guys that have fancy PHD's from MIT that always over complicated the crap out of simple things. It's like when you buy something expensive or make an investment, you feel the need to defend and justify it to others.

It's the same thing here, you get a fancy degree and everything you do has to be complex to justify getting that degree otherwise what separates you from a guy with an average degree. It's probably more an ego thing, but I see this all the time.

<comment><USER9> I don't understand why you presume it's a need to defend and justify it to others. Getting a PhD from MIT isn't exactly a walk in the park, I imagine the person got it BECAUSE of a pleasure to tackle complicated problems in the first place.

If I really enjoy dealing with complexity and you give me something really simple to do, well I'm gonna go ahead and have some fun with it. It's not a matter of justifying, it's just that simple stuff is boring to somebody who enjoys complexity.

<comment><USER9> To clarify, I'm not saying over-engineering is a good thing. I'm saying there's a mismatch between the complexity of the problem and the desires/personality of the person having to solve it. Give the simple problem to people who valor elegance, minimalism, simplicity, and keep the MIT PhD for rocket surgery and stuff.

<comment><USER10> Rocket surgery is a field I dearly want to see created. :-D

</comment></comment></comment></comment></comment><comment><USER11> Even in the movie 3 Idiots, at the end of the movie, the man with the pen points out that there's a reason for the complexity: bits of graphite flying around in zero gravity near instrument panels and people's eyes, etc.

Simplicity is great, but sometimes complexity is warranted. More importantly, assuming other smart people ( _many_ other smart people) are wrong without deep thought is not a good idea.

<comment><USER12> Not only graphite, but assuming a proper non-mechanical pencil, you'd end up with wood shavings in addition to the graphite bits flying about — which you could solve by adding a vacuum to the pencil sharpener, to capture the debris.

</comment></comment><comment><USER13> >> Conjuring complex mathematical equations may make you look smart but to become truly creative you need to be able to liberate your mind from the the shell of knowledge, education and adultification you have accumulated. Only then can you think like a child again.

This claims that creativity and education are diametral opposites. This essentially replicates the myth of the natural artist who can only achieve true creativity within nature and by forgetting culture. The basis for both assumptions is a fundamental divide between culture and nature, whereas culture is seen as hindering the creativity and freedom of the _homo naturalis_.

While I'm sure you can always find _some_ cases where this distinction might hold true, there are plenty of others that reveal the false dichotomy at work here.

There is a difference between a solution perceived as complicated or simple, but there is no objective measurement for a difference in _creativity_. The combination and application of maths (in the example with the pizza cutter) is as much a creative use of ideas as is the "manual" method with the string.

</comment><comment><USER14> I hate to say this, but the article is complete bullcrap. Have you even seen the movie he references ? The protagonist is supposed to be this "naturally talented genius" who detests the bookish Indian academic education system, so throughout the film he takes potshots at the stuff he's taught in school, ultimately choosing to drop out without a degree until the Dean formally requests him to take the finals, upon which he gets the highest grade in the university. Its a completely one-sided portrayal, and while it is valid in the sense that Indian education system is wholly bunk, it is unfair to draw any deep profound lessons out of a shallow screenplay played for laughts. The pencil thing as has been pointed out by the commentators below is an urban legend.

The most talkedabout scene in the whole film involves a vaginal delivery using a vacuum blower as a suction device, and a AA battery as an inverter as the OB barks out instructions on a webcam. As a former electrical engineer I refuse to even entertain the possibility of such a stunt. Yet everybody in the media - the newspapers/TV/talkshows went gaga over this scene, suposedly a parable for "necessity is the mother(pun intended) of invention".

There's 2 scenes where the conductivity of brine is demonstrated when a person urinating on a live wire gets electrocuted, again played for laughs.

There's a scene where a student in his final year is unable to graduate because his thesis involves getting a toy helicopter to fly. He's unable to figure out the propulsion mechanics, so in disgust he throws the helicopter into the trash. The hero, our natural genius sophomore, picks up this helicopter, spends the time rigging up wires in the EE lab & finally gets it to fly. He puts a camera on the copter & as it coasts high in the air, it captures the video of the senior who has committed suicide by hanging in his dorm! Now is that crass or what ? Commiting suicide for failing to figure out some stupid propulsion mechanics! I remember thinking at the time that if this same film had been made in English, the critics & audience in the US would have torn it to shreds for such pandering & crass footage. But India being what it is, this very scene was lauded for its authenticity!

Even setting aside all that, the wrapping a string around your palm 11 times is simply trading off precision for some trial & error , not sme clever solution. For the preschool numbers thing, he's making up the rules as he goes along.

Frankly, the article should be titled "Not thinking".

<comment><USER15> The movie is filled with impossibilities, true. But have you seen Bollywood movies? Have you known the Indian audience they cater to? The impossibilities are the reason the movie did well; no half educated person is going to seriously attempt delivering a child with a vacuum over a webcam. At the same time, these stupid feats brought people to the movie, and forced them to realize how pathetically screwed up our education system is. Sure, we didn't do anything to fix it from that one movie--but for at least a few months, every time the movie was brought up, people started caring about changing the way our kids were taught.

I'm not suggesting this movie was something that raised awareness about an unknown issue, but it did succeed in bringing it to the forefront for quite a while, as Aamir's movies have been known to do. If you've seen other Bollywood movies, you know that 3 Idiots is a godsend when compared to the literally thousands of song filled intellectually vacuous love stories that we've been inundated with.

Furthermore, that suicide wasn't for the helicopter. It was after the dean called his (sick?) father, and told him that his son was not graduating that year. I do not remember the specific circumstances (I have terrible memory and watched this movie a few months ago), but claiming that the suicide was due to an engineering failure is ignoring many aspects of the student's life.

\---

As for the string solution--I don't really see why you need precision in cutting a pizza in 11 slices for a random customer. It's an interesting solution, one I hadn't thought of, and I'd say one that many others hadn't thought of. The point was to deal with what a cook would have in his hands, not a mathematically sound approach. While the latter might be clean, it would be physically impossible to implement with a pizza cutter that might not be sharp enough, or a pizza where the cheese and sauce still oozed over the crust* (in which case you never could get equal slices).

* You can tell I haven't had lunch yet.

<comment><USER14> > But have you seen Bollywood movies? Have you known the Indian audience they > cater to?

0\. By a twisted quirk of fate( ie. being an Indian by birth), I happen to be addicted to Bollywood movies. I average 4 per month & have been doing so for atleast 2 decades now.

1\. The guy is supposed to make a quadcopter fly in order to graduate. He is unable to. The Dean says he'll flunk if he doesn't make it fly. The guy looks at the wall in his dorm which says "loser" ( or was it "rebel" )in giant letters. The hero makes the copter fly. There's a tiny camera on the copter. The camera transmits aerial footage to a wintel laptop. As the copter soars, the laptop shows the guy hanging from a ceiling fan in his dorm .....impressively manipulative, yeah ? I think we call that camp out here. It was so in-your-face, manufactured outrage...

2\. In reality, that quadcopter was built by Ashish Bhatt, a smart EE engineer out of IIT Bombay. He sells those at his startup IdeaForge (<http://www.ideaforge.co.in/web/products> )

3\. Suicides on Indian campuses is a legitimate issue. Back when I was a student, there were 2 suicides in my campus, both because the student in question flunked some engineering/math course. The number of student suicides is disproportionately large ( <http://www.google.com/search?q=suicide+IIT> ). There were quite a few seminars on suicide prevention after that film.

4\. Strictly speaking, it was a movie by-the-numbers...lets insert a suicide here, lets talk about pencils in outer space there, kind of thing. otoh the audience/critics were completely awed by it & made it the biggest film ever out of Bollywood.

<comment><USER15> > Strictly speaking, it was a movie by-the-numbers

I wasn't trying to say this movie has amazing merit; just that it served its purpose in an industry and to an audience where it isn't very easy to do so.

</comment></comment></comment></comment><comment><USER16> I solved the second one in a couple minutes in my head with value substitutions. Unless you were to do with with a pen and paper, it'd be pretty difficult to pick up on the closed loops.

Generating the following list took less than 30 secs when I looked it over, so obviously the example of it taking a long time to solve is a bit contrived. What threw me off a bit at first was that the number 4 was not used at all. I spent a little time trying to figure out why that was excluded before moving on.

0 = 1 1 = 0 2 = 0 3 = 0 5 = 0 6 = 1 7 = 0 8 = 2 9 = 1

<comment><USER17> That is how I did it. I actually don't understand what is meant by looking for shapes or closed loops.

<comment><USER18> Notice how an 8 has two loops (circles), and a 0, 6 and 9 have one each? The other numbers don't have closed loops, except sometimes 4.

</comment></comment></comment><comment><USER19> I'm surprised by how defensive the comments are here. They seem out of place, especially on "Hacker" News, an entity whose name by definition emphasizes thinking outside of the box. Frankly the post seems spot on regarding providing multiple examples (1 hypothetical and humorous, 1 general, and 1 specific) of how "engineering" minds' over thinking causes them to be outperformed by "simpler" minds and more obvious solutions. Even his string example could be kept obvious and simple by saying, "Measure the circumference, divide by 11, mark on string at regular intervals, cut to lines," and I'm fairly confident it would still be the best answer.

Any post-sophomoric software engineer will lament an over-designed system they helped create, lauded for its superior design, only to have it become unwieldy and unmanageable under its own monstrous complexity, and then refactored to a far simpler and more intuitive solution. It's no coincidence KISS is taught in every Engineering 101 class across the country.

I found the article to be light and refreshing, reminding me that as an engineer, often I am my own worst enemy...

Or the very least, the enemy of that tragic racquetball launcher I built in Freshman engineering that _literally_ crumpled under its own weight on demo day. Lol.

</comment><comment><USER20> The numbers based question was hilarious!!, specially to know that pre-school children can solve it in 5 mins. Try to show this question to a pre-school child and let us know what happens.

Our brain is just a amazing pattern matching machine. As soon as it is presented with a problem it starts to find patterns/relations in the problem along with going through the knowledge base it has acquired till now and trying different permutations and combinations to find the solution. In the number question, as soon as you read it, the brain will try to find patterns "using" the mathematical knowledge it has and it will keep on doing so until it gets frustrated an says WTF there is no relation here but it may happen that few days later you subconscious do find a pattern here based on "shapes" and not "numbers" but that is very very unlikely because as soon as we see numbers we think in numbers and not their shapes. If this problem was presented using shapes, anybody could have solved it in seconds.

</comment><comment><USER21> Ball-point pens actually work in space. The ink does now flow because of gravity, it flows because of ink viscosity.

<comment><USER22> You mean capillary action? <http://en.wikipedia.org/wiki/Capillary_action> I think this is somehow linked to viscosity, but I don't seem to find how.

</comment></comment><comment><USER23> Well, my pizza solution would have been to find a measuring tape and divide the circumference by eleven with your phone calculator ;)

But is it our problem to over think everything. School, university, bureaucracy, everything we encounter in life pushes us into that direction.

Probably to stop us from getting killed. Something evolutionary...

<comment><USER24> I totally want to work on an augmented reality cake divider now. Point phone at cake to get a divider overlay.

<comment><USER25> Such app is already shown in the Quora thread: [http://www.quora.com/What-is- the-easiest-way-to-cut-a-pizza-...](http://www.quora.com/What-is-the-easiest- way-to-cut-a-pizza-into-11-equal-slices)

</comment></comment></comment><comment><USER26> The numbers puzzle was easy to spot if you've ever played Petals around the Rose.

Here's a classic article about that game, dating back to 1977, describing Bill Gates trying to figure it out: <http://www.borrett.id.au/computing/petals- bg.htm>

</comment><comment><USER27> I'm in the "higher education" category, yet that puzzle only took me about 2-3min of looking at it... I got briefly red-herringed by digit sums / digital roots looking promising, so spent most of the time thinking about those, but, once I'd found counter-examples, it didn't take long to crack.

That said, the "pre-school children" bit was a big hint as to how to approach it.

The use of '=' instead of, say, '→' made the math pedant in me twitch, though ;)

</comment><comment><USER28> Nobody really needs to divide a pizza into eleven pieces with such precision. It's presented as a "real" situation, but it's a classic type of mathematical problem, the constraints of which are entirely made up _for fun_. When he dismisses the geometrical solution as "overthinking" and a sign of a lack of creativity, he not only misses the point, he's mocking what other people do for fun. Nice.

Also, as someone else already pointed out, he didn't specify how to find the middle point of the pizza, so his answer isn't a complete practical solution anyway.

<comment><USER29> Stretch a string over the middle of the pizza. Stretch another string over the middle of the pizza perpendicular to the first.

</comment></comment><comment><USER30> The solution is very clever. However, it is incomplete. In addition to the equally divided markings around the circumference, you also need to know the midpoint of the circle. Without the midpoint, the cuts may still yield unequal slices. Fortunately, using the author's same technique, you can easily produce the midpoint by making marks at the opposite ends of a single loop. Those two additional markings provide a guide for you to make cuts into the midpoint of the pizza.

</comment><comment><USER31> >php abc.php

      Looking for 8+8+0+9 being 6 : found 2+2+1+1 : 6
      Looking for 7+1+1+1 being 0 : found 0+0+0+0 : 0
      Looking for 2+1+7+2 being 0 : found 0+0+0+0 : 0
      Looking for 6+6+6+6 being 4 : found 1+1+1+1 : 4
      Looking for 1+1+1+1 being 0 : found 0+0+0+0 : 0
      Looking for 3+2+1+3 being 0 : found 0+0+0+0 : 0
      Looking for 7+6+6+2 being 2 : found 0+1+1+0 : 2
      Looking for 9+3+1+3 being 1 : found 1+0+0+0 : 1
      Looking for 0+0+0+0 being 4 : found 1+1+1+1 : 4
      Looking for 2+2+2+2 being 0 : found 0+0+0+0 : 0
      Looking for 3+3+3+3 being 0 : found 0+0+0+0 : 0
      Looking for 5+5+5+5 being 0 : found 0+0+0+0 : 0
      Looking for 8+1+9+3 being 3 : found 2+0+1+0 : 3
      Looking for 8+0+9+6 being 5 : found 2+1+1+1 : 5
      Looking for 1+0+1+2 being 1 : found 0+1+0+0 : 1
      Looking for 7+7+7+7 being 0 : found 0+0+0+0 : 0
      Looking for 9+9+9+9 being 4 : found 1+1+1+1 : 4
      Looking for 7+7+5+6 being 1 : found 0+0+0+1 : 1
      Looking for 6+8+5+5 being 3 : found 1+2+0+0 : 3
      Looking for 9+8+8+1 being 5 : found 1+2+2+0 : 5
      Looking for 5+5+3+1 being 0 : found 0+0+0+0 : 0
      Looking for 2+5+8+1 being 2 : found 0+0+2+0 : 2

:D

<comment><USER15> Excuse my ignorance, but how does this work?

</comment></comment><comment><USER32> I hate that story. The reason pencils weren't used was because broken bits of graphite can cause havoc if it floats into electronic crevices.

</comment><comment><USER33> I'm probably an idiot, but how do you divide the string in 11 equal pieces without measuring the length and dividing by 11?

<comment><USER34> Based on my extensive pizza eating experience, the average pizza slice is no wider than the distance between my thumb and forefinger, so start by wrapping the string around thumb & forefinger 11 times, leaving a bit dangling at the end. Then gradually expand the distance between the two fingers until the loose bit is eliminated.

I suspect you don't even have to mark the string with a pen (meaning the author possibly overthought the solution). You can just use the gap between your fingers. The chances are that the additional length added by the circumference of your fingers probably compensates for the curvature of the pizza circumference, depending on the size of the pizza and the size of your fingers. If you're doing this regularly you'll quickly learn the appropriate degree of compensation.

<comment><USER33> Oh but then it's just trial and error, unless like you say there is low enough friction to open your fingers and loosen all loops at the same time.

Quite unimpressive solution, imo. It's not about 'over thinking' any more, it's about giving up precision to find a low-tech solution.

</comment></comment></comment><comment><USER35> Who cares about pens and pencils, use an ipad :)

Overthinking leads to over-enginnering, because humans aren't great at knowing what to do with all the free time we'd have if we did our job in 10% of the time :) Perhaps overthinking is required to keep us busy. Even though we all claim our time is money, in reality most get paid by the hour and not by the amount of work that has been accomplished. Plus complexity gives more weight to what we do, allowing us to claim that there's no shortcut to where we're going. That degree, that level of experience, are all job requirements that protect us.

Experienced entrepreneurs often fall for this trap. Too much prior knowledge of a particular industry leads them to quickly find faults in most ideas, and the just-do-it attitude that leads to simple approaches that stun everyone slowly fades.

<comment><AUTHOR> Prior knowledge. Yes. Exactly what I was telling. I gave the numbers question to some of my friends and they all seem to be crippled by their prior knowledge.

I was thinking about the iPad too. I wonder what astronauts are using now. Surely not the space pen.

<comment> vertex-four Did you give it to any kids yourself, rather than relying on the article's claim that kids are usually able to solve it? If you're going to try to repeat the experiment, you must repeat all of it before claiming it repeatable.

</comment></comment></comment><comment><USER36> they stopped using the pencil in space because the graphite got everywhere !!

</comment><comment><USER37> I figured out the number one in about 30 seconds. The biggest clue is that it claims preschoolers get it easily. That means all mathematical operations, except addition and less likely subtraction, is out of the question. A quick glance showed that adding or subtracting in any simple way would not yield a result - a more complicated way would not be done by a preschooler. So that meant it probably was some sort of spacial or visual problem. Seeing 6666=4 and 0000=4 got me thinking about the shapes of the numbers, and from there I quickly determined the answer was the number of closed loops.

<comment><USER38> I bet it was more like 2 minutes. It only took me 64 minutes.

</comment></comment><comment><USER39> I believe that one reason why things can get overcomplicated is because often this has proven to be profitable. Why did it cost millions of dollars to create a pen in space when a pencil would do? Obviously, someone benefited greatly financially from the government contracts that were given to them for the purpose of creating a pen that would work in space- even when it wasn't truly necessary. Many believe the old saying that "money makes the world go round." Could this be the reason why else we have legally allowed for financial instruments such as derivatives which are so complex that the majority of the public does not even understand them? Is it profitable for someone to have something such as this be so complicated that the general public will fail to see their inherent danger? While overthink is dangerous for productivity, someone has also figured out that it is profitable- at least for them.

</comment><comment><USER40> Uhm I guess it's about common sense and not being an engineer all the time!!

If someone would call a pizza place in reality saying they wanted 11 equal pieces, they would have answered that at most they could have the pizza cut in some slices! :D HA!

</comment><comment><AUTHOR> The film scene is one of the things that motivated me to write this. So I used it for some humor. Whether it is true is besides the point. Though an urban myth, it made me think about the subject.

</comment><comment><USER41> Am I the only who would cut the pizza in 12 pieces, then eat one?

<comment><USER42> I'm an American, I'd just eat the whole damn pizza.

</comment></comment><comment><USER43> I have two children, a pre-schooler and a kindergardener, and I very much doubt either of them could solve that puzzle.

</comment><comment><USER31> If you think kids are good at simplifying, just go on Draw Anything and try to figure out some of their drawings.

</comment><comment><USER44> <http://www.therussiansusedapencil.com>

</comment><comment><USER45> [Sigh] Pencils aren't used because some graphite would rub off into the air and muck up the filter.

</comment><comment><USER46> What a well written article! Must have taken a lot of thought to write this well :)</comment>


Stanford's Coursera announces free Compilers, Automata and Logic courses. - <AUTHOR>

Stanford's Coursera launches 3 more CS classes.
Compilers by Professor Alex Aiken https://www.coursera.org/course/compilers
Automata by Professor Jeff Ulman https://www.coursera.org/course/automata
Intro. to Logic by Professor Michael Genesereth https://www.coursera.org/course/intrologic <comment><USER2> Plug : I maintain a list of free Massively Open Online Courses (MOOC) at <http://www.class-central.com></comment>


You need a paper licence to link to the Royal Mail website - <AUTHOR> http://www.malcolmcoles.co.uk/blog/link-royal-mail/

<comment><USER2> No I don't [http://www.royalmail.com/portal/rm/content1?catId=84200739&#...</a>

<comment><USER3> I would like to see this tried with a server in Britain...

</comment></comment><comment><USER4> Sure, and the NFL says I need a special contract in order to _describe_ the game I just watched. Organizations assert all kinds of crazy, bogus rights.

<comment><USER5> I believe this is simply to protect them from unauthorized radio broadcasts of their games.

<comment><USER6> Not to mention unauthorized church fundraiser TV viewings of their games.

</comment></comment></comment><comment><USER7> Is it part of a UK-US alliance that Royal Mail take it upon themselves to make the USPS look relatively less backward?

In any case, this seems another example of a 20th Century operation seeking to function blindly in the 21st Century... with the result that its customers breathlessly await the day when some startup will put the operation (and thus its customers) out of their final misery.

<comment><USER8> The Royal Mail is one of those things that the average Briton will take for granted, moan about and generally dismiss as an ancient, outdated monstrosity, but sorely miss it after moving abroad.

See also: the NHS, EU consumer law and the BBC.

</comment></comment><comment><USER9> Do they have any legal right to declare that you need their permission to link to their site?

I sure hope not.

<comment><USER10> Wait, are you saying I can't create a law by making a web page? Damn...

<comment><USER11> Oddly, that's been litigated more than you'd think, including in the context of links ("deep linking"): [http://www.wilmerhale.com/publications/whPubsDetail.aspx?pub...](http://www.wilmerhale.com/publications/whPubsDetail.aspx?publication=2636)

<comment><USER9> So if I read it right, according to that link, Royal Mail can't enforce any such "deep linking rule" on their website unless they require all their visitors to click through an agreement page before viewing the site, though it is technically possible for Royal Mail to sue businesses who choose to do so (though they will most likely lose).

<comment><USER12> They couldn't even do that. I can link to any page in their website without actually visiting their website.

Via Google: My Deep Link <https://www.royalmail.com/portal/pw/postcodefinder>

</comment></comment></comment></comment></comment><comment><USER13> Unfortunately, this clause would appear to have legal backing. The Computer Misuse Act 1990 states that a person is guilty of an offence if:-

(a) he causes a computer to perform any function with intent to secure access to any program or data held in any computer;

(b) the access he intends to secure is unauthorised; and

(c) he knows at the time when he causes the computer to perform the function that that is the case.

The relevant wording is "causes a computer to perform any function". This is deliberately broad in order to cover botnets and the like, but would also amply cover deep linking. There is no requirement for the access to be from a computer you control, nor that you personally initiate the access; only that you caused a computer to perform an action with the intent of accessing data without authorisation.

Although unlikely, it is possible that any British website could be prosecuted for ignoring such a T&Cs clause. Prosecutions have been made under the Computer Misuse Act for very vague 'offences'.

I hope it isn't petty, but I'd just like to point out that our quaint little island does have it's own laws; I find it rather discourteous that some posters in this thread seem to have assumed that the whole of the internet is subject solely to the jurisdiction of the United States.

<comment><USER14> A link is text, a link does not cause any computer to perform any action, a link does not even "connect" to any computer. It's static data.

With proper software "activating" e.g. clicking on a link to uk mail's website may or may not cause one of their computers to perform some function.

If anything you'd need a license to click links, not make them. Unless there's even crazier "contributory computer performance" language in that Legislative Misuse Act of 1990

<comment><USER13> One does not need to "connect" to a computer to commit an offence under the act. One does not even need to use a computer. Consider, for instance, an attacker writing out a paper form with an SQL injection, knowing that the form will be OCRed into a database that does not sanitise it's inputs. Nothing but graphite on paper, but clearly computer misuse under the act.

I don't agree with the law as it stands, but the law was clearly designed to cover every possible circumstance of unauthorised access to a computer system.

As an analogy, imagine yourself walking down a shopping street. You have tacit permission to walk through any of the open shop doors, but that permission ends at the "no entry" sign on the stockroom door. Walking beyond a "no entry" sign is trespass because you are aware that you do not have permission to enter such a place. Likewise with authorisation to access a computer system. Your right to connect to the system ends at the point where the system tells you to go no further.

<comment><USER14> Your analogy does not follow from your description.

"One does not need to "connect"", "Your right to connect..."

A more apt analogy (of a link) would be posting instructions (or a floorplan/map) of how to get to the stockroom.

I can believe the statute covers that. The US DRM Copyright law does similar.

</comment></comment></comment></comment><comment><USER15> Do you think someone should tell the Royal Mail about how to use a robots.txt file?

Because I can do a search for:

"You may not create a link to any page of this website without Royal Mail's prior written consent."

And get back lots of links... ;-)

I wonder if Google have one of these licenses to link?

</comment><comment><USER16> Ha! This article contains five links to the Royal Mail web site.

</comment><comment><USER17> So a company that makes their money from you buying stamps, has a pointless process that makes you send lots of letters, with lots of stamps.

Not so daft really !

</comment><comment><USER18> Their robots.txt:

User-agent: *

Disallow: /link/link

Disallow: /link/po

Disallow: /link/pw

Disallow: /link/rmg

Disallow: /portal/po

Disallow: /portal/pw

Disallow: /portal/rmg

Disallow: */print?

# 2007-04-12 www.royalmail.com robots.txt

so i assume anything else is fine?

</comment><comment><USER19> Don't you also need a license to watch live television broadcast via tv or the internet in the uk? Somehow I don't find this license very surprising...

<comment><USER13> We do have a Television License but it is effectively a tax on any household that views television. The charge is £142.50 per year, which pays for the BBC, a broadcaster which is funded by, but independent of, the state. Our broadcast media is regulated rather differently than most. Compared to the US media we have incredibly liberal standards of taste and decency, especially past the 9pm watershed. All broadcasters have a legal duty to act with fairness and accuracy, a duty that is quite strictly enforced. The BBC has strict legal responsibilities regarding quality, which many believe leads to a positive halo effect in the broadcast media.

Although it is a contentious policy, especially amongst the tabloid press, the system works extremely well. The license fee is guaranteed to the BBC and ensures that they are immune from government interference. The BBC Trust regulates the actions of the BBC and ensures that they act in the public interest. Although I would not wish to cast aspersions, I can say that having scrutinised the broadcast media of most of the developed world I am personally quite happy with our system.

<comment><USER20> > Our broadcast media is regulated rather differently than most.

Germany seems to operate a similar system. But there the broadcasters themselves can decide on how high the fee should be. Who does decide on that in the UK?

<comment><USER13> The license fee can never decrease, but any increase has to be negotiated for with the Government. The fee generally increases at a little above the rate of inflation.

</comment></comment></comment></comment><comment><USER21> Royal Mail also think they have a trademark on the colour red.

Seriously.

(These days they have had the grace to amend their claim, so it now says that it is only the colour red as used in their logo that is the trademark, but it didn't always do so.)

<comment><USER8> You can do that under UK law (probably elsewhere too). If your brand identity has a strong, identifiable colour scheme you can register it. I can't remember if it's a trademark or a designmark, but it falls under trademark law.

See also Orange, who have registered their shade of orange. The "Easy" brand (easyJet, easyEverything etc.) use a similar shade of orange across their brands. But Orange were there first and when easyMobile was started it wasn't allowed to use the traditional orange-coloured branding.

<comment><USER21> Sure, you can be associated with a certain colour such that anyone else in your field who was using the same colour might be confused with your organisation, and the law might legitimately protect against the misrepresentation in that case.

IIRC, this is one of those legal issues where finding a case that actually went to court is quite difficult, because the major cases tend to settle instead, but perhaps there has been the occasional definitive ruling.

In any case, though, that is not what Royal Mail's wording used to say. They didn't claim, say, Pantone colour X. They claimed "red".

<comment><USER8> From Wikipedia: <http://en.wikipedia.org/wiki/Royal_Mail#1960_to_present>

Contrary to urban myth, Royal Mail does not own the trademark on the colour red, but a specific shade of the colour red: "Royal Mail, the Royal Mail Cruciform, the colour red (as part of the Royal Mail logotype) and SmartStamp are all registered trademarks of Royal Mail Group plc."

<comment><USER21> Exactly. That's not what it used to say. I know that, because before I posted my original comment, I checked some printed matter from about three years ago, and the parenthesized part wasn't there.

</comment></comment></comment></comment></comment><comment><USER22> Asinine.

</comment><comment><USER23> Boring. Someone, somewhere, is doing something stupid. Next...

<comment><AUTHOR> ... but in a new and amusing way?

This is another nice example of what happens when people who don't understand technology make rules about how you use technology.

<comment><USER23> I guess I'm old enough to have known that already.</comment></comment></comment>


Show HN: Yode – Focused Code Editing - <AUTHOR> https://hoschi.github.io/yode/ <comment><USER2> A bit of discussion of why this was built or what's its goals are would be helpful in understanding/assessing it.

<comment><AUTHOR> there is a lot of that stuff in the readme on Github (icon top right corner). Ask me if something isn't clear :)</comment></comment>


Who Will Win the Fast Growing Online-to-Offline Sector? - <AUTHOR> http://versiononeventures.com/who-will-win-the-growing-online-to-offline-sector/

<comment><USER2> Hopefully Qbix will be one of the big winners in this space :)</comment>


How the Shawshank Redemption Became One of the Most Beloved Films of All Time - <AUTHOR> http://www.vanityfair.com/vf-hollywood/2014/09/shawshank-redemption-anniversary-story

<comment><USER2> Deserves this status - it truly is one of the best movies ever made.

<comment><USER3> I've always found opinions on this movie a bit baffling.

While it's far from a bad movie, it's never been clear to me why so many consider it one of the best movies (or the best movie) of all time.

Sometimes I wonder if it's an example of an "acceptable collective opinion," the sort of thing people half believe and say without really thinking too deeply as part of natural instinct towards social integration.

<comment><USER4> no no no. this is a very well engineered movie. Everything that occurs in the movie is specifically designed to generate an emotional response. Some responses are positive, others negative. iirc, they always develop in a way where they could go either way, and then they break. this creates suspense and surprise, heightening the response. I could go on for an hour about all the audience manipulations in this movie but there isn't room here. suffice it to say that, its not hype, it is actually very well designed.

<comment><USER2> Agreed. This movie possibly has the best EQ to IQ ratio I've seen. In other words the balance of heart or emotional content to stuff that requires the main character to have brains and dare I say, a hacker mentality, is just superlative</comment></comment></comment></comment>


Ask HN: What's a math major to do? - <AUTHOR> When I originally chose to study math I wasn't thinking about what I would do after college.  I chose it because I love doing hard, well-defined problems, and because I saw that it was the best way to distinguish myself.
Now that graduation is finally approaching at the end of this semester I do feel like I've distinguished myself as a student (having done research, won awards, and maintained a 4.0 GPA at a top 20 college), but I feel utterly unprepared for life after school.  I am passionate about programming, but most of my time in college has been spent on math, and I'm not sure if I'm qualified to work with experienced programmers.
When I told my contact in the college career center that I'm interested in programming, he advised that I apply to the IT division at Macy's.  Is this the only sort of work a math major with some programming experience is qualified to do?  For me, an ideal job would be working somewhere like Wolfram Research, where (I imagine) I would be working with smart people on difficult problems related to math and programming.  Are there other opportunities that I am overlooking?  Do I need to lower my expectations? <comment><USER2> Not too long ago I, too, was a math major utterly unprepared for getting a career. My strategy was to look for job postings with the word "Analyst" in the title, and focus on small companies. Those are the positions where you'll be working on solving innovative problems, at varying levels of definedness. Small companies, especially in niche markets, are more willing to hire people with a BS and good potential but not a lot of experience. Companies in a more niche or botique line of work, or a new emerging field, are also more willing to hiring people with more potential than experience (I got into web analytics myself, which hasn't been around very long).

If you're not sure about the opportunities you have, find a part-time position or a paid internship. It's less risk for you, and it's less risk for the company so it's easier to get the position. If it's something you like you can upgrade to full-time (as was my case), and if not, you can still gain skills and experience while shopping around.

In terms of lowering your expectations, you likely won't achieve the most prestigious position, but you can certainly find a position that's interesting and personally rewarding in an area that you want to be in. It's up to you to decide if that's lowering your expectations (I wouldn't consider it so).

</comment><comment><USER3> No, don't lower your expectations. If you want to get into programming, you can. It's not clear how much you've done already, but what you don't know you can teach yourself. First, start some programming projects on your own or contribute to existing free software projects. That'll force you to learn most of the practical skills you need. If you want jobs where you get to work on interesting problems, you should start learning computer science theory too. With your background you should find it fairly easy to pick up much of an undergraduate CS education from a few good books. (In your position I'd start with SICP, which is available online with video lectures by the authors at MIT OpenCourseWare.)

Even before that, you can apply for entry-level software development jobs. Companies that hire new graduates don't really expect them to have useful real-world experience. (It's a big plus if they do, but it's not necessary.) If you can learn basic data structures and algorithms, for example, you might well qualify as a college hire at a big shop like Google/Amazon/Yahoo/Microsoft that has the resources to hire a lot of junior programmers and train them on the job. And use your friends, professors, and alumni network to find companies that could use a good undergrad math student - these are rarer but they do exist. _[Update: mga mentioned the financial sector, which is a great idea too. I was a joint math/CS major, and some of my math friends went straight from college to companies like Fair Isaac (FICO).]_

You _will_ need more experience before you can explore certain opportunities - an undergrad math degree doesn't open many doors by itself - but you should try to get that experience working in development, not in IT. Or if you're serious about working on research problems, also consider applying to grad schools in either math or CS.

</comment><comment><USER4> There are lots of companies that need people who can solve hard (but not always well defined) problems, and being a programmer is certainly a plus. E.g. check out companies that are famous for effectively applying both, e.g. Wal-Mart and Amazon.com (seriously, the latter poaches from the former); prior to the financial industry meltdown, that would have been a place to look into (e.g. many MIT EECS grads used to go there first).

If you're good at problem solving and passable at putting it into code (hey, others can clean that up if need be), you ought to be able to find a niche. Maybe first think about the sorts of problems you like to solve?

</comment><comment><USER5> Look into quantitative finance. There are plenty of math majors roaming around there, and math people with good programming skills are in high demand.

Recommended introductory reading would be Mark Joshi's 'How to be a quant' PDF (<http://www.markjoshi.com/downloads/advice.pdf>). It's been around for a little while now, but most of it should still be applicable.

</comment><comment><USER6> My first job after majoring in math was to work for a software company in hollywood. Have you considered working in something graphics-oriented? It doesn't have to be games, there's a lot of math-related work in the film industry. It will take a little bit of work to break into this field, but it's a really good fit for math majors who have some programming experience.</comment>


Don't boot out tomorrow's Nobels  - <AUTHOR> http://www.ft.com/intl/cms/s/0/83a23bba-f3fe-11e0-b221-00144feab49a.html#axzz1ag4TEHWX

<comment><USER2> Content only available to subscribers.</comment>