"TurboFan" – Experimental new optimizing compiler for Google's V8 JS engine - <AUTHOR> https://groups.google.com/forum/#!msg/v8-dev/ab8V5Z58_70/5-05DvysCt8J <comment><USER3> > We've reached the point where it's better for our development velocity to > work in the open on the bleeding edge branch of V8. That's also better for > our collaborators who are working on ports to more platforms.

I wonder who are the collaborators with access to Google's private V8 repo and what platforms they're porting to. If merging TurboFan to the open repo didn't reveal their partners' proprietary plans now, then why not develop in the open sooner?

<comment><USER4> I interpreted that differently - that Google's private, secret v8 repo is hidden from their partners as well. Therefore they decided to unveil the work publicly so that their partners can access it, start to work to port turbofan to the other platforms, and so forth.

As to who the partners are, you can see commits from Intel adding x87 support and Imagination doing MIPS, for example.

As to why not develop in the open sooner, good question - this is the second time v8 does this, after CrankShaft (third time if you count the initial unveiling of chrome and v8). Maybe it's just how they work.

<comment><USER5> x87 isn't a platform, its just the floating point parts of x86

<comment><USER6> in the context of V8 "x87-platform" means "x87-only for floating point" as opposed to normal ia32 platform where V8 assumes SSE2 is present. It's implemented as a separate platform port, not as a bunch of if's inside the ia32 port.

</comment></comment></comment></comment><comment><USER7> It would be nice to understand the goals of this project in terms of both approach as well as the overall performance improvements and how it would compare with the new LLVM-based approach taken by Safari/Webkit.

<comment><USER4> Yes, very curious about this too.

As a first guess, I'm not sure what the v8 strategy is here. The new compiler seems to use the "sea of nodes" approach as opposed to SSA form. A comparison of the two is here

[http://static.squarespace.com/static/50030e0ac4aaab8fd03f41b...](http://static.squarespace.com/static/50030e0ac4aaab8fd03f41b7/50030ec0e4b0c0ebbd07b0e0/50030ec0e4b0c0ebbd07b268/1281379125883/)

The "sea of nodes" approach can give some speedups, but they don't appear huge - 10-20% in that link. Not sure how representative that data is. But it is interesting that modern compilers, like gcc and LLVM, typically use SSA form and not the approach v8 is taking, as further evidence that the "sea of nodes" is not clearly superior.

Perhaps the v8 designers believe there is some special advantage for JS that the new model provides? Otherwise this seems surprising. But hard to guess as to such a thing. If anything, JS has lots of possible surprises everywhere, which makes control flow complex (this can throw, that can cause a deopt or bailout, etc.), and not the best setting for the new approach.

Furthermore, the "sea of nodes" approach tends to take longer to compile, even as it emits somewhat better code. Compilation times are already a big concern in JS engines, more perhaps than any other type of compiler.

Perhaps v8 intends to keep crankshaft, and have turbofan as a third tier (baseline-crankshaft-turbofan)? That would let it only run the slower turbofan when justified. But that seems like a path that is hard to maintain - <USER2> register allocators, etc., - and turbofan seems like in part a cleanup of the crankshaft codebase (no large code duplications anymore, etc.), not a parallel addition.

Overall the Safari and Firefox strategies make sense to me: Safari pushes the limits by using LLVM as the final compiler backend, and Firefox aside from general improvements has also focused efforts on particular aspects of code or code styles, like float32 and asm.js. Both of those strategies have been proven to be very successful. I don't see, at first glance, what Chrome is planning here. However, the codebase has some intriguing TODOs, so maybe the cool stuff is yet to appear.

<comment><USER8> The "sea of nodes" approach is just a data structure for representing a program in SSA form. It's orthogonal to anything that has an impact on speed. E.g. GCC uses a tree representation, LLVM uses a CFG, and Hotspot (C2 and Graal) uses a "sea of nodes" representation, but they all represent code in SSA form and that representation is orthogonal to the quality of particular optimizations implemented within the framework.

The speedup reported in that paper is from running constant propagation and dead code elimination at the same time instead of doing them separately, which finds more constants and dead code because the two problems are coupled. The same process can be implemented in a more traditional CFG representation (and generally is--sparse conditional constant propagation).

<comment><USER8> Too late to edit this, but I should clarify: "data structure" is probably not the right word. To be more precise, "SSA form" is a property of variables in a program IR. It means variables are assigned only once, that defs dominate uses, and value flow is merged at control flow merge points with phi nodes. You can have different program representations that all represent values in SSA form, but differ in how they represent other things. Where the "sea of nodes" representation differs is that it explicitly represents control dependencies. In LLVM, you always have a control flow graph, with basic blocks and edges between them. Control dependencies between instructions are implicit from their placement in particular basic blocks. In a "sea of nodes" IR, there are no basic blocks.[1] Control dependencies are represented explicitly with control inputs to nodes, just as data dependencies are represented explicitly with data inputs.

This makes certain things easier in a "sea of nodes" IR. Normally, during optimization you don't have to worry about maintaining a legal schedule of instructions within and between the basic blocks. You just have to respect the control dependencies. However, in order to get executable code you have to impose a schedule on the nodes, whereas with a more conventional CFG IR, you already have a schedule in the form of the basic blocks and the ordering within them.

[1] See Section 2.2-2.4 of Click's paper: [http://paperhub.s3.amazonaws.com/24842c95fb1bc5d7c5da2ec735e...](http://paperhub.s3.amazonaws.com/24842c95fb1bc5d7c5da2ec735e106f0.pdf). His IR replaces basic blocks with Region nodes. The only instructions that must be linked to Region nodes are ones that inherently have a control dependency. E.g. an "If" node takes a data input and produces two control outputs, which can be consumed by region nodes. "Phi" nodes must also have control inputs, so they can properly associate different control flow paths with the data values that are merged along those paths.

</comment></comment></comment></comment><comment><USER9> Here's something that's been bothering me since Chrome dropped the experimental support for `position: sticky` (and CSS Regions before) and I didn't find the right place to ask (nor is a submission about the JS engine an appropriate venue for this question, I know), so I'm going to hijack this thread:

We know some properties are _expensive_ and when you use them a few times (or with certain values) you get sub-60fps scrolling — but why are they _expensive_? Are they inherently hard to optimize (e.g. different GPUs across mobile devices), or is it that nobody got to optimize them yet?

<comment><USER10> Because, in general, they can trigger layout/reflow, so they can't run on the compositor. For example, changing things like "top" on an absolutely positioned box can trigger reflow of the contents inside, because of the way CSS works (for example, if "bottom" is set, then the height changes, which can affect the size of things with percentage heights, which can cause floats to be repositioned, etc. etc.)

In traditional browser engines it's even worse because layout runs on the main thread, which is also shared with your JavaScript, so painting ends up transitively blocked waiting for your scripts to finish. That is not the case in Servo (disclaimer: I work on Servo), but making layout run off the main thread is hard for many reasons—some inherent to the problem, some historical in the design of current engines—so all current browsers run JS and layout together.

<comment><USER11> Exactly.

To elaborate on how this works in Gecko. The rendering pipeline has several optional stages:

requestAnimationFrame (Scripts) -> Style flush -> Reflow flush -> display list construction -> Layer construction (recycling) -> invalidation -> Paint/Rasterization -> Compositing (on it's own thread).

Gecko tries to only run each stage of the pipeline only if they are needed. Fast operations like a CSS transition on an opacity or transform will only activate the Compositing phase. WebGL only canvas drawing will only activate rAF + Compositing. Meanwhile a JS animation on "top" will run all of these phases.</comment></comment></comment>


Pkg.jl telemetry should be opt-in - <AUTHOR> https://discourse.julialang.org/t/pkg-jl-telemetry-should-be-opt-in/ <comment><USER2> I feel like many developers fail to understand the difference between the ethos of Free/Libre/Open source _software_ , and the realities of running a networked _service_.

Services are not free (as in beer) - they always take time, money, and labor to provide. A PkgServer.jl is exactly the kind of thing that has to be sustained _somehow_.

It's not possible to use a networked service without exchanging some information with that service, which may or may not be useful for the service providers to collect, so that they can provide a better service (Read: make it cost less)

The idea that one should be entitled to use a service, for free, and at the same time ask that the service does not collect any data, or make it opt-in by default, is akin to demanding free beer that people can optionally pay for.

Caveat: My bias is from being a service provider for a packaging endpoint, a security updates endpoint, and a community CI service. Any telemetry data we can get our hands on to help us make informed decisions about what to support, and what to drop support is absolutely invaluable.

<comment><USER3> As a user of free software I have the opposite bias. If a software is built around a community, which should be the case of free software, I think it's better if decisions are taken by asking the users, be it forum discussions, polls or whatever.

As you mentioned, reducing the costs usually amounts to taking something out: this can piss off users, particularly if they were not informed and no discussion took place. An example that comes to mind was the decision by Mozilla to stop supporting the ALSA driver in Firefox based on the telemetry showing little usage.

Ths example also shows that often data are biased and making a decision solely based on data is not ideal: ALSA is (was) the default choice on most GNU/Linux and BSD distributions, where firefox is usually built and distributed by the maintainers with telemetry disabled.

> is akin to demanding free beer that people can optionally pay for.

This is similar to how donations work: with donations you can't force people to give you money but you can be very insistent and it can leave users with a bad taste in their mouth. Also, if you are implying the service providers are entitled to collect all the data they can, I think this must have limitations. Running code on the client side from which the provider only can (directly) benefit should require permission, because you grant users access to server and so should the users grant you access to their machine.

<comment><USER2> Gathering telemetry data _is_ asking the users, and happens to be the most cost effective way to do so. Forum discussions do not scale and only satisfy the needs of the loudocracy, and polls are going to suffer from a similar participation bias.

Disabling telemetry by default ended up harming the users of those distributions by making their usage of ALSA invisible. Again, that choice by the distro maintainers isn't something that Mozilla had any control over. Voluntarily withholding telemetry data is similar to abstaining from an election. You dont get to complain about who got elected if you didn't vote, likewise you dont get to complain about lack of support for your use cases if you don't allow upstream projects to know that you have them.

<comment><USER4> > Gathering telemetry data is asking the users

No, it _absolutely_ is not.

</comment></comment></comment></comment><comment><USER5> This is an extraordinarily level-headed and well-reasoned version of the "how much telemetry" conversation, from both "sides". The Julia community comes off looking really good here.

<comment><USER6>
       Moreover, at present, we have no idea how many people use each solver (and on which platform!). Knowing how many people installed which solver
       would allow us to prioritize support from our finite developer time.

Why not just let users vote on that? The support is for the users, no? Instead the developers want to minimise the amount of time they spend on maintenance based on the number of users who could potentially complain. The reason for this is (as we are about to be told) so they can spend more time working on platforms where they believe commercial solver developers could provide for- profit support services "(or $$)".

       This would also allow us to lobby the commercial solver developers to provide official support (or $$). To quote one company "We'll want to
       provide official support at some point, but it looks like the scales haven't tilted quite yet." It'd be nice to know whether 100, 1000, 10000, or
       100000 people per month use their software; that might change their mind.

The truth comes out. Collecting data via "frictionless" telemetry allows someone else, e.g., commercial solver developers, to make money. Nothing wrong with that if we let users know about these intentions, however when devlopers try to operate under the guise of "free", "non-profit", "open source", etc. while, truthfully, they have commercial motives, then it seems to me they are doing everything they can to avoid tipping users off that this aims to be a commercially-oriented project. Instead of just being transparent about their motives and letting users decide, they want to sneak something by (most) users. The issue raised here is not the collecting statistics (nothing wrong with that), it is the less transparent, opt-out nature of it: telemetry. Deceptiveness, stealth. The message coming from this discussion is "Don't tip (majority of) users off that we are collecting data." And why is that? Because the developers know this is something most users do not want.

       Finally, if it is opt-in, the vast majority of users will not opt-in. This leaves us no better off than we were before. Opt-out is a good
       compromise.

The discussion should have ended right here. If providing usage statistics is something that the Julia developers _already know_ the vast majority of users do not want to do, then sneaking it by them via opt-out telemetry is wrong, and it tells us much about the people behind Julia. If users do not want it, and you know that, then why the heck are you doing it anyway? Anyone reading this will know why, but most users will probably never read what we are reading here.

The rest of this discussion devolves into "Everyone else is doing it". The lone dissenter finally gives in to peer pressure.

I remember when using download statistics was enough. Developers still maintained software. No "trade-offs" were needed.

<comment><USER7> This is quite the caricature of what's happening in that thread.

> The truth comes out.

The truth was never hidden. It's all laid out quite plainly here: [https://julialang.org/legal/data/](https://julialang.org/legal/data/).

> If providing usage statistics is something that the Julia developers already > know the vast majority of users do not want to do

There are three reasons someone might not opt-in: they don't want to, they don't know about it, or they simply don't care. To ignore the latter two is simply disingenuous.

> The rest of this discussion devolves into "Everyone else is doing it". The > lone dissenter finally gives in to peer pressure.

That's certainly not my read of the 200+ post thread.

<comment><USER6> You are certainly entitled to your developer perspective.

What are the reasons users do not read the /legal/data page on the Julia website? What are the reasons users do not read 200+ posts from developers debating the use of opt-out telemetry? To ignore such reasons, assuming they exist, would also be disingenuous.

If you put the choice clearly before users and they knowingly, affirmatively choose to submit usage data, then no 200+ post thread is necessary. Instead, the choice is not left to users. It is made by developers, and the fact of the use of opt-out telemetry is found on a webpage that developers know users do not read.

</comment></comment></comment></comment><comment><USER8> There are a few concerns I have as a occasional Julia user. When I update my packages is this going to be a silent change, or can we get a notification and a Y/N option to opt out when updating? How visible and easy is it to change this setting after updating if I change my mind?

I don't have a specific concern about the Julia team using my data, but I have general concerns about companies collecting telemetry. Can't they get a rough estimate of active users by counting unique IP addresses over the past X months which doesn't require opting people in to telemetry?

Edit: I think I read the link incorrectly. This person is arguing that users should have to actively opt-in, not that they are opted in automatically. They are arguing for a change that would increase privacy, and I need to opt-out in my current installation. I didn't know I was sending telemetry right now.

<comment><USER9> You are not sending telemetry right now. That is a feature which will be activated in the upcoming 1.5 release. It will display a notification.

<comment><USER10> If you make an HTTP request, you are sending "telemetry" information in the form of endpoints, headers and IP information. The server may not track this information, but it's exploitable

<comment><USER8> My issue is that I've come to terms with the fact that the IP address of every connection can be tracked server side- I can use a VPN to get a little anonymity but can't stop a server from logging connections and downloads. But telemetry adds data on top of that, and it seems like a lot of software wants to track me. I'd feel it was okay if I was required to register an account and log in before downloading/updating packages, that's a noticeable action that lets my brain process the idea that I'm able to be tracked. But sending "anonymous" metadata with almost no action on my part rubs me the wrong way. Lots of devs try to optimize things so they are low friction for users, but I think the Julia user base is a little different than normal software and wouldn't mind a little friction if it meant they had better control of their privacy.

<comment><USER10> As far as I can tell, this isn't adding anything to IP sharing: the package manager just attaches a persistent UUID to every request. In fact, it is more private than IPs because it can't be tied to an ISP or geographical region.

<comment><USER11> As someone that was active in the previous HN thread [1], this one, and in the Discourse one this position has popped up several times and it perplexes me. Attaching a persistent UUID on top of a protocol that carries your IP can not be _more_ private as you are giving away additional information that would have to be inferred statistically from the IP alone. Now, we can argue other benefits of the UUID, but simply calling it a day by ignoring the fact that you are already giving away your IP is just baffling to me. Am I being thick here? What am I missing?

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

<comment><USER12> > _What am I missing?_

I'm guessing there's an unspoken assumption that given a UUID the server-side would not log IPs. It then comes down to trust that they'd stick to that.

<comment><USER11> Thank you, that could be it. Then again, there would at least have to be a separate log somewhere on the same box with IPs to counter abuse. I think creating and using a UUID without explicit opt-in is still a red line for me, but I do concede that I could very well be too paranoid for the good of myself and the community as a whole.

I should probably get back into the Discourse thread to see if I can contribute constructively, but the amount of back and forth between mostly "My freedom!" and "Tū quoque!" [1] in the thread over the weekend – apart from me being far too busy to take the time to summarise it all – has kept me away, although it looks way better over the last few hours. With the little free time I have I would rather work on my Julia code. '^^

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

<comment><USER10> Yeah, it sounds like they're designing a way for package authors to get usage stats: imo, this extra piece of data doesn't really help the server owners de- anonymize because it's less identifying than the data the server is already collecting as an http server (especially if it's in an unlogged part of the request like a header or a post body). But, even if it is a privacy risk relative to the server owners, it's preferable that data derived from this uuid be shared with package authors, rather than IP-based data, because it's based on a less-identifying datasource, which means that even if someone were to breach the database, they'd have less ability to de-anonymize people.

Also, I find this whole discussion to be somewhat irrelevant when talking about a service serving up arbitrary code to be executed on your machine: if you don't trust the server owners, you really shouldn't be executing the code they serve up.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> The back-and-forth in that thread is a great discussion. One thing I hadn't realized is that many other popular languages are already doing something similar. See this post for a bit more detail: [https://discourse.julialang.org/t/pkg-jl-telemetry-should- be...](https://discourse.julialang.org/t/pkg-jl-telemetry-should-be-opt- in/42209/17)

</comment><comment><USER14> Hi HN, please note that this is an active discussion thread in the Julia community. You are all more than welcome to chime in, but we do try to keep discussions as productive as possible, so if you do decide to comment, I'd ask that

1) You familiarize yourself with the actual proposal and the improvements that are currently underway and

2) Be kind

A number of people have put in an enormous amount of effort to try and get this right - please remember that they are indeed people.

<comment><USER15> Is the telemetry available to users? I glady opted into Synchthing telemetry after seeing this page: [https://data.syncthing.net/](https://data.syncthing.net/)

When the data is available to the community, just like the source code, its a much easier sell.

<comment><USER14> The plan is to make aggregate usage data available publicly and potentially share more detailed usage data with individual package authors. The exact format is TBD since it'll depend on the quality of the data that we get (this is not active yet, except on the preview build). The raw logs will be accessible to core developers with a reasonable need to access (e.g. they're working on the infrastructure or running the analytics), but will not be public.

<comment><USER16> How about deleting the IP addresses within 48 hours like 220.127.116.11 and 22.214.171.124 do?

[https://developers.google.com/speed/public- dns/privacy](https://developers.google.com/speed/public-dns/privacy)

<comment><USER17> We do have a limited retention policy for the package server logs we keep (which include client IP addresses). It's not publicly stated anywhere right now, but one reason why we need to keep IP addresses is for abuse mitigation. We have been hit in the past by users that do things like download large (100MB+) files from our package cache servers multiple times a second for days on end. This is a particularly easy case to catch (since it easily pops to the top of any analysis you'd care to run, across any timespan) but there are more subtle forms that require a longer time window of analysis (e.g. users that download once per hour, all month) that would be lost in the noise without the ability to see what's going on.

This comment is not meant to serve as an official policy, just pointing out one of the reasons why we can't delete IP addresses like 18.104.22.168 and 184.108.40.206 do; because the abuse vectors for a server that serves the community large resources is very different from that of a DNS server.

Most of the "abuse" we see is not malicious in nature, but is instead users that have some kind of very poorly-configured autoinstaller on a cluster. In the case of a catastrophic issue like the one mentioned above, we null-routed the IP address, reached out to the abuse contact for that IP, and worked with the user to architect a better system. Everyone is happy now, and we can continue to provide a high quality service for the community without breaking the bank.

<comment><USER18> How about hashing IPs? You could still see if someone were on your abuse list if abusers.contains(hashfn(req.addr)).

<comment><USER14> Doesn't help for two reasons 1) If the has has enough bits to be useful for blocking, it's trivial to reverse 2) Even if it did make the IPs anonymous, we want to be able to email the NOC at whoever is sending the abusive traffic, so they can go investigate

<comment><USER16> > we want to be able to email the NOC at whoever is sending the abusive > traffic, so they can go investigate

If you block their traffic with HTTP 429 Too Many Requests, they can email you instead.

<comment><USER14> We prefer not to break researchers' workflow because the group next door misconfigured their server. Happens all the time. We only sinkhole IPs if the traffic is malicious or on track to exceed or budget.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> It's a fascinating discussion! I don't use Julia much anymore due to job change, I hope all language package teams get to read the back and forth.

</comment><comment><USER20> If you download the software, it seems reasonable for it to get basic information.

User's need to consider the developer perspective. Julia is a product with millions of hours sunk into it. It needs to sustain itself, since it's open source.

I doubt the telemetry is being used for profit anyway, but anything we can do to help Julia is good. "Donations" aren't sustainable and can't fund a large software project.

Also it's not hidden, so I fail to see the issue. If the information is in a legal document and the __source code __, then you know exactly what 's going on. There's no shady business.

</comment><comment><USER21> Telemetry deservedly has a terrible reputation due to its usage in proprietary software. In open source software, it's not a deal breaker for me as I have means to get rid of it.

But given the landscape of privacy issues, I wouldn't vote for an opt-out telemetry in any of the OS projects I'm involved with.

</comment><comment><USER22> I skimmed the link but still have the same question - is there really a justification for having any telemetry turned on by default? I think most people wouldn't want any network traffic unless they instigated it, let alone unique identifiers and package information.

<comment><USER14> Note that this is about metadata for package requests, so you're downloading something from a server already. The question is what information is in that request.

</comment></comment><comment><USER23> Why telemetry at all? I don't expect a programming language to have telemetry as an default feature.

I want to hammer this rule into everyone regardless of the domain you're working in when it comes to privacy:

\- _Explicitly ask the user. Respect their privacy. Explain why you would like to collect data, may be show past examples of what you 've done with the data and don't deploy dark patterns or default behavior._

It is not that hard. No backlash. No problem at all if you ask the user. Sure, that would lead to less than optimal telemetry for the collecting party but there should not be any way around this. Want more data? Incentivize users, may be give them free subscription for helping out with the beta testing. Give them a discount. Treat data just like a commodity that costs money to obtain responsibly. Right now, everyone is a data-cartel trying to hoard as much as possible.

Why is this so hard to understand? This is opposite of "level-headed". I usually allow PyCharm to collect telemetry, I allow Apple to use Siri requests for improving it. It is because they do this as respectfully as possible without deceiving the user.

<comment><USER24> Have any zealous "opt in" folks ever been in a position where they need to somehow obtain statistical information about their user base (to raise funding, to make business decisions, to know what features are most being used, etc)? Opt in is like hard mode and practically worthless, <1% of your user base will opt in.

<comment><USER11> Yes, as an academic and a co-creator of the de-facto annotation tool in my field [1] I certainly have (although having Google Analytics for the website is something I regret…). Now, we have the "luxury" of citation counts as a proxy for academic usage, but I know next to nothing about how our tool is/has been used in industry apart from what pops up on the mailing list. To be fair though, I suspect we could have had bigger impact and maybe keep the project more "alive" with both more efforts on our part and if we had decided to raise funds additional user metrics could have helped, but I am not shedding tears over this.

[1]: [http://brat.nlplab.org/](http://brat.nlplab.org/)

Now, I absolutely sympathise with any developers in this situation. But I think the underlying issue is that we lack a good way to give consent and are stuck with awful solutions like opt-out and ridiculous pop-ups. Is there not good work on this out there or are we forever going to have to endure sub- optimal solutions?

<comment><USER25> Hi, I'm Kili's CTO. We have a free version of our annotation tool: [https://kili-technology.com/](https://kili-technology.com/). It's the most versatile tool on the market (text, image, video, voice), with native python integration, the ability to use ML to speed up annotation, and great support. Let me know if we can help. Edouard

<comment><USER11> Wow… Just wow… The Internet these days is just a cesspool at times due to this kind of behavior and I wish I could downvote this into oblivion. Your attempt at marketing disgusts me and know that I now have an awful impression of Kili as a company. Your need to drive customers to your company does not justify this kind of behavior, no matter the quality of your product.

<comment><USER26> What are you talking about?

<comment><USER11> The comment by edarchimbaud that I replied to? Where he blatantly inserted himself into a discussion about telemetry, package development, funding based on concrete metrics, etc. Just to namedrop his company and tool?

<comment><USER26> I didn't see anything blatant. What was blatant about it?

<comment><USER11> Imagine the following exchange:

A: "Recently I have been thinking about personal responsibility."

B: "Why so?"

A: "I believe there is a strong correlation between a sense of personal responsibility and success later in life."

C: "That is interesting, I think I read a study about this once. Here is a link!"

<the discussion goes on for some time>

B: "Myself, I learned about personal responsibility – in particular financial – when I as a child ran my own little business. What I did was to deliver apples and later fruit for a small fee to the neighbourhood on my bike when I was about twelve. It did not make me rich of course, just enough to buy a video game in the end. But I do think it gave me solid experience in life. Later on in high school I started designing local webpages."

D: "Hi! I am D, I am head of research at Foobar Corp and we have a new apple breed: [http://foo.bar/baz](http://foo.bar/baz) It is the best apple on the market: crisp, juicy, and perfect for pies! Let me know if we can help!"

A, B, and C: "Eh?!"

Now, you are perfectly in your right to disagree. But I think D is being a dick here and inserting themselves blatantly solely to attract attention to their product and adding nothing to the discussion or the community as a whole – possible because D has signed up for some god awful "business intelligence" tool that just scans various websites for mentions of "apples" so that they can insert a generic, re-usable message.

Regardless, I will not monitor this conversation further as I feel we are at this point deviating far far from the topic of this "dead" thread. If you still feel the need to discuss this matter, feel free to dig up my e-mail on my personal website. Trust me, I am fairly easy to locate with my username and a keyword or two from my profile – or just look at the about page using the link to the tool I mentioned earlier in this conversation.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> Wow, if this is done without prompting the user, then it's illegal in the EU and UK. IP addresses are considered PII.

<comment><USER17> The GDPR explicitly allows for the processing of personal information without consent in the event that such processing is required for ensuring network security and availability, see [1], [2] and [3] for more reading on this. Note that I am not a lawyer, and you should consult a lawyer (as we did) to ensure that all policies fall within GDPR laws.

That is precisely what the logged IP addresses are used for (an example: nginx access logs), and is one of the reasons why we would much rather use a random number generated by the client machine than an IP address; because the bits themselves have no meaning, unlike IP addresses.

As mentioned in the linked thread, NumFocus has worked with a legal team that specializes in this type of law, this plan is all in compliance with the GDPR.

[1] [https://gdpr-info.eu/recitals/no-49/](https://gdpr- info.eu/recitals/no-49/) (The actual GDPR text regarding security concerns) [2] [https://blogs.akamai.com/2018/08/dispelling-the-myths- surrou...](https://blogs.akamai.com/2018/08/dispelling-the-myths-surrounding- security-technology-and-gdpr.html) (Akamai legal team confirming that this interpretation of logging IP addresses for security purposes is valid) [3] [https://law.stackexchange.com/a/28609](https://law.stackexchange.com/a/28609) (Stack exchange post pointing out that even more exceptions exist beyond just security)

<comment><USER27> From the first paragraph of TFA:

'The goal is to answer the question "How many Julia users are there?"'

This is a commercial concern, nothing to do with security, and to my understanding at least, is not a valid reason for collecting PII. There doesn't appear to be a security argument for collecting this data without consent.

</comment></comment></comment><comment><USER28> This is an inherently bad-faith practice that should be punishable for open- source and commercial vendors alike.</comment>


The lost standing stones of Devon are still hiding from archaeologists - <AUTHOR> https://arstechnica.com/science/2018/07/the-lost-standing-stones-of-devon-are-still-hiding-from-archaeologists/ <comment><USER2> Random unsubstantiated theory. I recall reading a book on the Celts which revealed that they actually had substantial technology before the Romans arrived. One of the innovations was a carefully operated defense network whereby shouted messages were repeated across long distances such as quiet valleys in order to distribute general news or to summons geographically disparate tribes in the event of invasion. Since Celtic culture was substantial in the area, could the sites be related to the placement of messaging centers? An intertidal zone would make sense to such a network as boats could easily arrive and depart at all times of day.

Some refs: [https://books.google.com/books?id=uQMMAQAAQBAJ&pg=PT38&lpg=P...](https://books.google.com/books?id=uQMMAQAAQBAJ&pg=PT38&lpg=PT38&dq=celts+shout+message+network&source=bl&ots=Z0AqU- JPr2&sig=YqK4rFHvQw5_3eLAeioFPeNQgYU&hl=en&sa=X&ved=0ahUKEwjol8yb-P7bAhVqllQKHc73BTkQ6AEINzAB#v=onepage&q=celts%20shout%20message%20network&f=false) [https://www.forbes.com/sites/icoengine/2018/06/06/parkingo-i...](https://www.forbes.com/sites/icoengine/2018/06/06/parkingo- innovating-mobility-via-the-blockchain/#11b58afa4d58) [https://www.salon.com/2013/11/03/the_celts_were_smarter_than...](https://www.salon.com/2013/11/03/the_celts_were_smarter_than_we_think/) [https://www.theguardian.com/books/2013/oct/11/ancient- paths-...](https://www.theguardian.com/books/2013/oct/11/ancient-paths-graham- robb-review) [https://www.thetimes.co.uk/article/the-ancient-paths- discove...](https://www.thetimes.co.uk/article/the-ancient-paths-discovering- the-lost-map-of-celtic-europe-by-graham-robb-7cjzlqpl7wn)

</comment><comment><USER3> It's a set of standing stones like Stonehenge, but they are only 12 inches tall? [https://www.youtube.com/watch?v=qAXzzHM8zLw](https://www.youtube.com/watch?v=qAXzzHM8zLw)

</comment><comment><USER4> The South West seems to be full of interesting sites. Last time I was in Cornwall we went for a walk to visit a stone circle. It's fascinating to think that people like us at one point thought it important enough to create these circles, but we have no idea why.

<comment><USER5> We do know that things get built because of a desire to ratify prestige. Things like Easter Island's moai are described as "mana-works", mana being a Polynesian word adopted by anthropologists to describe notions of abstract efficacy. It's worth reading about, though the concept has lost credibility in anthropology. But, essentially, the Autobahn network is similar to these megalithic works, built out of a collective and mostly consensual desire to demonstrate/affirm the efficacy of a certain social order. The connection I'm making with totalitarianism is intentional, with no value judgement attached to that (sometimes totalitarianism happens).</comment></comment>


Palantir wins competition to build Army intelligence system - <AUTHOR> https://www.washingtonpost.com/world/national-security/palantir-wins-competition-to-build-army-intelligence-system/2019/03/26/c6d62bf0-3927-11e9-aaae-69364b2ed137_story.html <comment><USER2> I'd like to know more about what a battlefield intelligence system _does_.

<comment><USER3> I interned for the contractor that had the original defense contract, it's basically a suite of tools for intelligence gathering / aggregation and asset tracking, among other things. It's mostly in the public domain, not as nefarious as you'd expect

[https://asc.army.mil/web/portfolio-item/iews- dcgs-a/](https://asc.army.mil/web/portfolio-item/iews-dcgs-a/)

[https://en.wikipedia.org/wiki/Distributed_Common_Ground_Syst...](https://en.wikipedia.org/wiki/Distributed_Common_Ground_System)</comment></comment>


What happened in my birth year? - <AUTHOR> http://whathappenedinmybirthyear.com/ <comment><USER2> Nice, but I hate that they assume I can't read faster than a 10 year old... ;)

<comment><USER3> If you close the tab because that's annoying you, it lets you stay on the page and it shows the entirety of what it was going to type out. Just figured that one out.</comment></comment>


A Story About 'Magic' (1994) - <AUTHOR> http://catb.org/jargon/html/magic-story.html <comment><USER2> I love things like this.

In my old Dreamcast, I found after I'd packed it up and moved it a few too many times that it wouldn't start, but would show signs of life when the lid would open and close. I found that there was a position you could put the lid in at which it would boot, and that position could be reliably reached if a SweeTart was placed in the tray near the edge of the disc. I licked the flat side of the SweeTart a few times and it stayed where it was, and it's there to this day. Of course, the lock doesn't engage so I have to keep something heavy on top of it.

And on my PS2, I'd fiddled around with it too much trying to mod it, and messed up something in there, but not bad enough that it wouldn't boot and play a game. But about 3/4 of the way through Resident Evil 4, I found it would skip and eventually reset if you didn't tilt it up by 20 degrees or so. As I progressed in the game, the angle at which it had to be set increased, until eventually not only did it have to be tilted in a second direction as well. Believe it or not, it finally reached the point where no tilt could save it in the middle of the final boss, with my friend moving it this way and that like we were trying to get reception with bunny ears on an old TV. I never beat the game.

<comment><USER3> The original Playstation had a similar switch on the lid mechanism. I think it was a safety feature to prevent the discs from spinning up, without the enclosure.

When I was about 8-9, I found the mechanism, and ended up dismantling the system. I then wedged a little Wolverine action-figure's foot into the space to keep his foot down on the switch and ran the system without the cover, because it looked pretty badass to have the discs spin out in the open.

[In retrospect: All of this was probably a horribly unsafe thing to do, considering what would happen if the disc cracked or broke while spinning.]

<comment><USER4> I think it's also to protect your eyes from the CD-reading laser if you were to power it up with no disk in it.

<comment><USER3> Good point, I actually spent some time staring at that when I was younger. Also found out I needed glasses when I was 10, and my prescription hasn't changed since.

</comment></comment></comment></comment><comment><USER5> This is awesome in so many ways because it captured the imagination of the people using it. They just saw that switch and actually tried to figure out why _it wasn 't magic_.

Obviously it wasn't, but the way this is written really shows how dumbfound they were because they couldn't explain it.

<comment><USER6> I would love to have some of those in my office, just to have a psychological change with a flip of a button.

<comment><USER7> You can make your own: [http://store-xkcd-com.myshopify.com/products/switch- and-butt...](http://store-xkcd-com.myshopify.com/products/switch-and-button- stickers)

</comment></comment></comment><comment><USER8> I liked the story because I absolutely love arguing with people who will tell me to trust the map over the terrain. :-|

<comment><USER9> What does "trust the map over the terrain" mean?

<comment><USER10> when the map tells you one thing, and your eyes tell you another thing, go with what your eyes tell you, because the map is full of shit.

you would be surprised how often people trust "the map" more than reality. "the map" can be anything, i.e. an instruction manual, an authority figure, folklore, a rumor, whatever.

<comment><USER11> Except if you're a pilot flying in low visibility. Then you trust the map, not the terrain (mainly as the terrain is invisible). VFR vs. IFR and all that.

<comment><USER12> SO your point is that you trust the map only when there's no other option.

</comment></comment></comment></comment></comment><comment><USER13> Was hit by the nostalgia of reading Hackers [0]. What a great prank but quite an extreme dike.

[0] [http://www.amazon.com/Hackers-Computer-Revolution- Anniversar...](http://www.amazon.com/Hackers-Computer-Revolution-Anniversary- Edition/dp/1449388396)

</comment><comment><USER14> My favorite was "always mount a scratch monkey":

[http://www.catb.org/jargon/html/S/scratch- monkey.html](http://www.catb.org/jargon/html/S/scratch-monkey.html)

</comment><comment><USER15> One of my favourite stories growing up.

</comment><comment><USER16> Xkcd sells a set of stickers which includes a magic/more magic pair:

[http://store.xkcd.com/products/switch-and-button- stickers](http://store.xkcd.com/products/switch-and-button-stickers)

</comment><comment><USER17> I was really really hoping this would be the background of the magic number file "magic", and the `file` command... oh well.

Completely different, but still a fun story.

</comment><comment><USER18> Ahhh yes, the compulsive need of the reasoning mind to neatly categories all events, circumstances and situations. I just love exploiting that.

</comment><comment><USER19> I've been periodically thinking about a tattoo based on this story for actual decades. Anyone know of any art based on it?

</comment><comment><USER20> I love this story. It's mythology from the dawn of Computer Science - like a chapter from Genesis.

</comment><comment><USER21> great story, although the whole time I was thinking of the appended 1994 explanation. wouldn't that be reasonable? too bad no one thought to measure the magic...

</comment><comment><USER22> Should be tagged (1994), although it appears the earliest version of this story goes back to Dec 1990!

[http://jargon-file.org/archive/jargon-2.2.1.dos.txt](http://jargon- file.org/archive/jargon-2.2.1.dos.txt)

<comment><USER23> Pretty sure it's older than that I recalled seeing it in this book, which Amazon gives a date of 1983 on (fits well enough with when I recall coming across the book in a public library): [http://www.amazon.com/Hackers- Dictionary-Guide-Computer-Wiza...](http://www.amazon.com/Hackers-Dictionary- Guide-Computer-Wizards/dp/0060910828/)

Also, it's in the 1.5.0 file: [http://jargon- file.org/archive/jargon-1.5.0.dos.txt](http://jargon- file.org/archive/jargon-1.5.0.dos.txt)

<comment><USER22> Interesting, it seems to have disappeared between 1.5.0 and 2.2.1!

<comment><USER23> That _is_ interesting -- I didn't check the 2.x revisions, and it only seems to be in 1.5.0 -- though I didn't try to go through all the intermediate files, simply stopping at a failure to find it in the previous one.

</comment></comment></comment></comment><comment><USER24> Uh... How was this not obvious from looking at it? Every geek who's put together or taken apart a computer knows the metal frame is grounded, and most geeks have enough basic understanding of electricity to understand you only need one wire for a ground. The switch enables or disables grounding. Since that is literally the only thing it can do, that is what it does.

<comment><USER25> Haha HN, how did this post get downvotes? The second I read about "a switch needing two wires" I thought "Unless it's grounded." Interesting story, but hardly "magic"

<comment><USER26> Is it common for one of the switch terminals to be electrically connected to the switch's container? That seems like a dangerous idea?

<comment><USER25> Common? Hell no! Obvious? Yes.

For a switch to work a circuit must be present. Either a neutral line or a ground it is the only way to send information.

If a functioning switch has only a single wire feeding into it then it must be reaching ground through other means.

<comment><USER27> > _If a functioning switch has only a single wire feeding into it then it must > be reaching ground_

False dichotomy. You omitted a third option: _magic_.</comment></comment></comment></comment></comment>


Firefox 3.5 Now the Most Popular Browser Worldwide - <AUTHOR> http://tech.slashdot.org/story/09/12/20/2048235/Firefox-35-Now-the-Most-Popular-Browser-Worldwide <comment><USER2> To be fair, it's still a 30/60 split between all of IE and Firefox.

But the good news is that we should be under 10% for IE6 some time next year. That has me even more excited!

<comment><USER3> Ignoring Asia, IE6 is at about 5% right now. It is small enough to start ignoring.

<comment><USER4> The source for this story puts IE6 at 10-12% in North America and Europe and 20-35% in South America, Africa, and Asia.

Whether or not IE6 support is still necessary depends on who your target audience is. Are you targeting a young and tech-savvy crowd? Then drop it. But if you're working on a project intended to be used by non-profits and government agencies (as I am right now) then it's unfortunately still necessary.

<comment> bjelkeman-again Our target audience is primarily NGOs and organisations working with poverty in developing countries. IE 6 last month was 17%. IE(5/6/7/8) was 40% and Firefox/Netscape total was 34%.

</comment></comment></comment></comment><comment><USER5> Unfortunately, Firefox 3.5 is blocked by the company proxy. 3.0 wasn't, but I guess they're getting wise to those wily engineers trying to use a (arguably) more secure browser.

Reminds me of the sites they have blocked under the category "productivity", no joke.

<comment><USER6> Yeah. Earlier this year, while Firefox 3.5 was in beta, I noticed that the update check wasn't working any more. I finally figured out that our company proxy was blocking it (Firefox isn't officially supported at all, but many of us use it). I promptly browsed to Mozilla's FTP site and pulled down the installer manually. Silly admins.

</comment></comment><comment><USER7> I've personally just switched to Chromium from Safari. Firefox on Mac is a dog and doesn't seem to be getting better.

I wonder if Chrome will start rapidly eating at Firefox's share since more technically inclined users are probably more like to switch, and more likely to use FF in the first place.

</comment><comment><USER8> As of 6:45UK time on Sat BBC News has picked up this story. Interesting how mainstream this is.

</comment><comment><USER9> actual source: [http://gs.statcounter.com/#browser_version-ww- weekly-200827-...](http://gs.statcounter.com/#browser_version-ww- weekly-200827-200951)

</comment><comment><USER10> how sad that firefox reaches its adoption peak while hitting an all-time low for stability. it took me 7 years to jump ship from ie to firefox. it took me 1 to go from firefox to chrome.

<comment> w-ll well from someone that has done a lot with Firefox since 2.0, i jumped the ship to chrome just 3-4months ago and simply love it. Firefox evolved into a FireBear.

</comment></comment><comment><USER11> Its fascinating how decisions taken by companies can have such a long term effect. MS decided to give away IE for free before Mozzila and even now some how IE6 has a major market share even though Mozzila has a much better product

<comment><USER11> A very interesting incident

In October 1997 Internet Explorer 4.0 was released. The release party in San Francisco featured a ten-foot-tall letter "e" logo. Netscape employees showing up to work the following morning found the giant logo on their front lawn, with a sign attached that read "From the IE team ... We Love You". The Netscape employees promptly knocked it over and set a giant figure of their Mozilla dinosaur mascot atop it, holding a sign reading "Netscape 72, Microsoft 18" representing the market distribution.</comment></comment>


Microsoft Edge Lets Facebook Run Flash Code Behind Users' Backs - <AUTHOR> https://www.zdnet.com/article/microsoft-edge-lets-facebook-run-flash-code-behind-users-backs/ <comment><USER2> You should be allowed to customize the whitelist; such whitelisting should not be hard-coded.

</comment><comment><USER3> And here we go again with "but that was the old, evil MSFT! This is the new, good MSFT!" Where oh where have we seen this before? Hello leopard, nice spots. (Cue whataboutism)</comment>


David versus Goliath – A Tale About the Internet in Central London - <AUTHOR> http://www.prosyn.co.uk/david-versus-goliath-tale-internet-central-london/ <comment><USER2> This doesn't tell even half the story.

The "heart of Tech City" in London - Old Street - has several office buildings without any kind of proper internet. You would _think_ that a dense cluster of companies who all absolutely depend on having good connectivity would encourage BT and Virgin to serve the neighbourhood. Think again.

But even that pales in comparison to the absurd crapshoot of trying to get real fiber internet installed. The office building we are in already had Colt's fiber running to the basement when we moved in. It took nearly three months, and the involvement of _lawyers_ , to get the wayleaves negotiated so the fiber could be extended from the basement to our office at the top floor. Through existing risers.

It would be wrong to say that fiber internet in the City of London is a joke. That would be unjust - a joke has a proper punchline. What's in place is at best a mockery.

And those of us who do have FTTP (Fiber To The Premise) are quick to forget just how awful the situation is for the have-nots.</comment>


Stuck with Pound - <AUTHOR> https://kirkcenter.org/reviews/stuck-with-pound/ <comment><USER3> _sigh_ I feel this comments section is just going to reiterate the culture war rather than address the article, the book it's reviewing, the Chinese poems "translated", other works of Pound, or Pound's actual relationship to Fascism.

A refresher on the latter: [https://www.thenation.com/article/archive/coming- to-terms-wi...](https://www.thenation.com/article/archive/coming-to-terms- with-ezra-pounds-politics/)

Notable in there is the ancestor of Qanon, "The Protocols of the Elders of Zion", a notorious racial libel whose circulation was a contributing factor to the Holocaust.

<comment><USER4> His later writing wasn't far removed from Qanon: [https://news.ycombinator.com/item?id=24208047](https://news.ycombinator.com/item?id=24208047)

</comment></comment><comment><USER5> The web site is inaccessible to me:

"Your access to this service has been limited. (HTTP response code 503)"

"Block Reason: Access from your area has been temporarily limited for security reasons."

<comment><USER6> Archived copy:

[https://web.archive.org/web/20200818060518/https://kirkcente...](https://web.archive.org/web/20200818060518/https://kirkcenter.org/reviews/stuck- with-pound/)

</comment></comment><comment><USER7> If you are interested in translation of poetry, Douglas Hofstadter's _Le Ton beau de Marot_ ([https://en.wikipedia.org/wiki/Le_Ton_beau_de_Marot](https://en.wikipedia.org/wiki/Le_Ton_beau_de_Marot)) is a fantastic read.

</comment><comment><USER4> Sturgeon's law applies to people as well as between people. That's why we invented editors. and manners.

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

Edit: skimming [https://en.wikipedia.org/wiki/Ezra_Pound](https://en.wikipedia.org/wiki/Ezra_Pound) it seems amazing that one can get from supporting social credit ("to disperse economic and political power to individuals") to capital-F Fascism and "the English were a slave race governed since Waterloo by the Rothschilds" but in an age before social media at least it seems to have taken him on the order of a decade to radicalise.

(on the other hand, Vorticism to Fascism may have been a simpler route? What about the gripping hand?)

<comment><USER8> Going from socialism to fascism never was a long walk.

<comment><USER9> You're being downvoted but this is correct.

Mussolini, arguably the inventor of modern fascism, began his political life as a socialist; to his last days, he maintained a belief in the role of the State to direct development and economic output.

In many ways, the economic policies of Fascism (and Nazism later) might well be described as "socialist policies run by - and for - <USER2> capitalists".

<comment><USER10> Britain's own failed Mussolini, Oswald Mosley was a Labour MP before he became a fascist: [https://en.wikipedia.org/wiki/Oswald_Mosley#Crossing_the_flo...](https://en.wikipedia.org/wiki/Oswald_Mosley#Crossing_the_floor)

<comment><USER11> For those that aren't going to click the link: he was a Conservative initially before becoming an independent and he had radical policies to reduce unemployment that weren't popular in the then laissez-faire Labour party (or Conservatives really) such as tariffs to protect British industries from 'international finance', state nationalisation of main industries, and plans for a corporate state by merging businesses, workers, and the government into one. He was also against free trade being noted as saying he was trying to challenge the '50-year-old system of free trade which exposes industry in the home market to the chaos of world conditions, such as price fluctuation, dumping, and the competition of sweated labour'.

After the split from Labour and failing to see success in his own New Party he went on a study tour of Italy and it's here you see the sharp turn towards the right wing and the formation of the BUP which was obviously authoritarian corporate fascism, strongly anti-Communist, and frequently clashed with Jewish groups.

As dragonwriter notes in his posts in this thread, corporatism is something that's sometimes shared among these ideologies but the gulf between those ideologies can still be pretty large, authoritarian nationalism inherently excludes certain groups in societies and is worlds apart from some other forms of socialism even if the goal of both is to end or reduce class conflict.</comment></comment></comment></comment></comment>


Things about Web Images I Just Learned - <AUTHOR> http://www.gabrielweinberg.com/blog/2009/06/things-about-web-images-i-just-learned.html <comment><USER2> A few other real points of pain that I learnt while implementing dome dynamic resizing code in Rails recently:

* IE will _not_ display JPEG images that have some types of embedded meta-data. This includes previews, which a lot of editing programs do include.

* IE and Safari both freak out on JPEG images that are in the CMYK colorspace. Conversion to RGB and removal of color profiles will fix this problem.

These are generally not big a deal when you're creating images yourself, but whenever you're accepting user-generated images these points could really bite you. I know they caused me a lot of pain!

Hope this saves someone at some point!

<comment><USER3> "IE and Safari both freak out on JPEG images that are in the CMYK colorspace. Conversion to RGB and removal of color profiles will fix this problem. "

I've had trouble with IE and FireFox and CMYK, Safari works fine. At least on Macs, I haven't tried Safari for Windows.

<comment><USER2> Hmm, I didn't have any problem with FireFox but in my case Safari was causing problems! Perhaps it was something to do with the inclusion/lack of color profiles in the JPEG?

My policy now is that any user-supplied image is stripped of all meta-data and converted to the RGB colorspace. Since I've started doing that I haven't had a single issue!

</comment></comment></comment><comment><USER4> My input: _Never update images, ever._

Apart from the fact that web browsers are notorious for over eagerly caching images no matter what http headers are specified, you have no control over external http proxies and their versions of your images.

So never allow someone to update an image, only allow delete and create actions, using a fresh new url each time.

</comment><comment><USER5> img{-ms-interpolation-mode:bicubic} This is why I read HN! One line of code to fix one of my sites!

<comment><AUTHOR> Unfortunately, it still doesn't work for IE6, on which you need to use the good ol' AlphaImageLoader (sizingMethod='scale') if you want to support that browser: <http://msdn.microsoft.com/en-us/library/ms532969.aspx>

</comment></comment><comment><USER6> Things I have learned:

optipng: png files are often not optimally small, even for what can be done by an automated process. Run optipng on the png's on your site, you'll be suprised.

example (compare before and after idat sizes): find /usr/share/gnome -iname _.png -print0|xargs -0 optipng -o7 -simulate

advancecomp: a zlib implementation that tries harder to compress, but with output that is still totally compatible.

use like: advpng -z -4 $file

advpng should only be used _after* optipng, since optipng won't want to save the file if it is larger, even if the idat is smaller. since optipng can only use the regular zlib, the smallest files come from optimizing the idat, then optimizing the compression.

Just going through a regular debian desktop install, you will see png files that shrink over by over 90%. This is, of course, a lossless operation.

<comment><USER7> How does this compare to pngcrush ? I run pngcrush with "-rem alla -reduce -brute" flags.

<comment><USER6> I don't know. I think optipng is basically optimal for what it does. If you use the -o7 flag, I believe it uses every available combination of settings that a png file can have, as well as using the minimal color space.

However, what would be really cool is something which would dither down, based on some of the research that is going on in that field. I saw a java applet once that could dither almost anything to 256 colors with barely any noticeable degradation. For something like the iphone, or any other memory limited/bandwidth limited device this would be awesome.

</comment></comment></comment><comment><USER8> +1 on CSS sprites, definitely one of the biggest wins in terms of faster page loads and reducing connections to your webservers.

</comment><comment><USER9> To add to the list: \- always try to serve images at the size they are drawn \- see if background images with just solid color, can be replaced by background 'color'

</comment><comment><USER10> Smushit looks cool, but I've never really had a problem optimizing images with Photoshop. You have a lot of fine-grained control over compression and file size. If you discard the profile properly when doing a save for web, I'm not sure how it "doesn't fully optimize" images.

As for PNG files, I'd rather have the transparency and ability to tinker with different backgrounds than have to re-export a set of icons every time.

<comment><AUTHOR> Sure, I might not have used the proper settings, though generally I've clicked around all the setting until the lowest file size appears at the bottom (without losing image quality).

If you don't mind me asking (out of curiosity), if you run smush.it on one of your optimized pages, do you get any reduction?

<comment><USER11> I've just tried it on a few of mine and had zero savings. So I'm not sure what it is doing that is different to Photoshop.

</comment></comment></comment><comment><USER12> If anyone has Adobe FireWorks, you can dramatically compress an image using their save facility too. That's really all I open it for.

</comment><comment><USER13> Love your new UI for selecting the search mode, so smooth and obvious. Except the icon for "Mostly Info Sites" didn't ring intuitive to me - it wasn't even immediately clear that those three things are books. I'm not really in a position to make suggestions because your project is so awesome, but... maybe use an open book instead?

<comment><AUTHOR> Thanks! We looked at some book icons (including open books). We were afraid it might get confused with book search. Also, I liked the idea that multiple books might convey different types of encyclopedic knowledge. That is, it covers more than one subject. But if people don't get they are books, that is not good :)</comment></comment>


Why Poor Places Are More Diverse - <AUTHOR> https://www.youtube.com/watch?v=mWVATekt4ZA <comment><USER2> Thanks for sharing! I enjoyed the video.</comment>


CSS Grid the Right Way - <AUTHOR> https://vgpena.github.io/using-css-grid-the-right-way/ <comment><USER2> Recently I've been using CSS Grid to layout quite a complex component, where the number of rows and columns needs to by dynamic based on the component's input data.

I've consistently been surprised by the fact that, everytime I hit a requirement that I think is going to be be impossible or require a hack, I find that it's a use-case that's been considered and catered for by the spec.

If flex was the first CSS layout that didn't feel like it was actively hostile to the functional needs of building UI, then grid is the first one that feels like it genuinely considers both functional needs and the needs of writing elegant and maintainable cdoe . I agree with the article that it requires quite a bit of learning to absorb all the new terminology and concepts, the payoff is more than worth it.

</comment><comment><USER3> Well written article with first principles in mind. I would like to mention that in the section where the author talks about placement there's a hiccup. When you place grid items with grid-column:start/end, start refers to the starting column _line_ and end refers to the ending column _line_. Not the columns themselves. If you look at [1] you can see there's 3 columns but the ending is at '4'.

Funnily enough this doesn't apply to spanning.Notice here with grid- column:1/span 3 it spans the length of 3 columns. [2]

These details perfectly illustrate the authors excellent point of using named template areas and placing items semantically. I apologise if this is pedantic, I really did like the article.

[1][https://jsfiddle.net/9ewzLcrs](https://jsfiddle.net/9ewzLcrs) [2][https://jsfiddle.net/9ewzLcrs/1/](https://jsfiddle.net/9ewzLcrs/1/)

<comment><USER4> This _is_ a great article! A good assessment of how the grid might be used to cause less mental strain for the developer. I've just started using grid in practice, although already very useful then this article adds good insights into naming things and also on the design vs markup topic.

If I may nitpick on your nitpick :), then I don't think span isn't "funnily" not the same as the start/end columns -- if you want to span some number of columns then it shouldn't say "span 2" when you mean to span one.

</comment></comment><comment><USER5> Some of this seems a little obvious to me but I may have been spoiled by Grid By Example[1] being my tutor. This article does not get into grid areas which, if used, should be the entities that are named rather than columns and rows. Whenever people complain about CSS and the lack of a reusable specification for GUIs I bring up CSS grid. Paired with CSS Reset[2], we have an intuitive, descriptive and easy-to-learn means of building layouts that just works.

1\. [https://gridbyexample.com/](https://gridbyexample.com/)

2\. [https://meyerweb.com/eric/tools/css/reset/](https://meyerweb.com/eric/tools/css/reset/)

</comment><comment><USER6> I really appreciate this article. CSS grid has a lot of moving parts and it's great to have some simple and practical best practice guidelines. Well done!

</comment><comment><USER7> I'm really digging this site design.</comment>


Nintendo's hidden secret message for hackers within NES Mini - <AUTHOR> https://twitter.com/bakueikozo/status/817293451813220352 <comment><AUTHOR> The message: "This is the hanafuda captain speaking. Launching emulation in 3...2...1. Many efforts, tears and countless hours have been put into this jewel. So, please keep this place tidied up and don't break everything! Cheers, the hanafuda captain."</comment>


Meet the New Filepicker Team - <AUTHOR> http://blog.filepicker.io/post/89024877982/meet-the-new-filepicker-team <comment><USER2> As the original founder and CEO, I can provide a bit of clarity. As with many startups, ours was a thrilling but ultimately tumultuous journey. At the end of the day, we ended up with a nice profitable lifestyle business (filepicker.io) and a big ambitious change-the-world product that we were not able to get traction with (Ink).

The team decided that the right thing to do was to sell to someone that would: 1\. Value and support existing customers 2\. Return as much money as possible to investors, and 3\. Allow the team to move on to new opportunities. (In priority order)

I have a tremendous amount of respect for the new team, and actually think they will do a better job with filepicker.io, because they are committed to its success as a company and a business rather than some distant vision.

For those who were fans of what we were trying to do at Ink (helping connect the apps and services that people use), I'm still committed to the dream and seeing if we can do it in a slightly different way at IFTTT.

At some point I may do a more full post-mortem, for now if you have any questions hit me up at <my username>@gmail.com

<comment><USER3> As a customer of filepicker.io I've always been impressed by the quality of the product, documentation, and support. So far this seems like a classy way to move on, best of luck at IFTTT!

</comment></comment><comment><USER4> I've been using Filepicker from day 1. Never gave me trouble. Noticed they raised, tried for an ambitious strategy, since it wasn't part of my wheelhouse I quietly cheered them on.

Yesterday while checking on something I logged in and noticed the Ink side disappeared and now they're introducing a new team.

I love you guys but be honest, be merciless. What went wrong? Why drop Ink? Why the new team? It'll be better than this pablum PR puff.

</comment><comment><USER5> Well, this is the most ambiguous post i've read in a while. I think a little transparency here would have gone a long way to inspiring confidence in the new company/team

</comment><comment><USER6> Where have the new team come from? Were they staff? Or did they buy it when the founders wanted to quit? What was Ink? Was that by the original founders or the new team?

Maybe the new team could list their full names? Bit strange to have "meet the new team" but not have their names and where they've come from.

<comment><USER7> "Ink" was a rebranding they did when they were attempting to move the service beyond just FileUploadingAsAService.

<comment><USER6> So FilePicker was replaced by Ink and now FilePicker has returned?

</comment></comment></comment><comment><USER8> Odd. They tell us a new team was necessary, with a little detail but not enough to stop me wondering for more.

Then, despite the title, they don't actually introduce the team. Just some tiny images and only their first names.

</comment><comment><USER9> Thanks guys! Jason from Filepicker here. You're right—Ink on mobile was too far ahead of its time. I'm still frustrated I don't have a filesystem on my iDevices… that said, the core business of handling files for uploading no matter where they live couldn't be more exciting for us. We've a huge roadmap and if you check out the blog you'll see we're starting to announce our updates already. Everything from new client libraries, iPhone iOS8 support, Metadata APIs to new transformations, data sources and much, much more coming. We'll give a deeper update on the business once the dust settles but feel free to contact me directly if you have any questions about our service!

<comment><USER10> Hi Jason, What happened to the old team? Why did they quit? What happened to INK?

</comment></comment><comment><USER11> It would be great for one or more of the founders to do a postmortem write-up once any dust has settled. I had high hopes for Ink, seems like a shame. I'd imagine this comes at the end of a lot of work to get things transitioned so it is understandable that it is a bit light but it would definitely be good to hear more detail.

</comment><comment><USER12> Eek. I used Filepicker at my last start-up and loved it. In fact, the website's still using it right now. I integrated it before it was called Ink, went through a rebrand, and now I'm left wondering if the old code I wrote is still going to work.

I wish there was more context here and explained if the product was going away or not. On a personal note: I had talked with Brett and Anand repeatedly in the past, it would've been nice to get more details.

<comment><USER9> Glad you love the product, everything will work as before. I would extend that and say it will be more robust and faster then ever before.

<comment><USER13> You should understand that your blog post makes us filepicker users nervous. Please tell us more about what it going on. This is normally the feeling I get when I have to start planning a transition. Give us some fact, or plans even.

<comment><USER9> We are doubling down on the product. We want to make sure everything is extremely stable first. We have an awesome roadmap that we will be sharing on the blog soon that outlines our plans to make filepicker the best service for dealing with files.

<comment><USER13> It isn't the product that has me worried - it is already very useful. It is the team and financing that is. Will you make it to cash flow positive? Will you survive? Is there at least a reasonable plan to get there?

<comment><USER9> cschmidt, Filepicker is growing fast,will survive, and has a very bright future ahead. We will be publishing our roadmap soon.

<comment><USER13> Glad to hear it. I'll look forward to reading your roadmap.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> The blog post won't load for me (dodgy airport wifi!), but I just want to say that Filepicker is one of the few SaaS services that I got _instant_ value from and when they went from freemium to paid recently, I paid up right away.

I really hope the service doesn't disappear!..

<comment><USER9> Jason from filepicker here, Its not going anywhere, we are expanding the service rapidly and have a full featured roadmap. I'm glad you can see the value!

<comment><USER15> As someone paying for Filepicker/Ink, it's been great to me ... _but_ ... I've got to ask, as a customer...

If I see rebrand, then all founders removed, why should I have confidence that this company is going to be sustainable and not just live off VC funding?

<comment><USER9> just pinged you.

</comment></comment></comment></comment><comment><USER16> Off topic, but that sticky navigation at the top is ridiculously large / tall. It seemingly takes up 1/3 of the viewable browser area required for reading the actual "content". Crazy. (NOTE: Browser width must be at least 992px wide to see it).

<comment><USER17> I only see navigation at the bottom, and it's less than 1/3 of the screen, though that may depend on your screen height as it has a fixed height.

</comment></comment><comment><USER18> Filepicker is a much better name. I am glad they are pivoting back to the product people wanted.

<comment><USER9> we feel the same way!

</comment></comment><comment><USER19> Am I missing something, or is Filepicker solving an artificial problem, namely connecting proprietary services and apps which could instead use standards like HTTP URLs and filesystems? Some industries are built upon being middlemen, but it seems like, as technology develops, the trend is away from middlemen. Why build a new business upon such a strategy? It doesn't seem like a long-term approach.

<comment><USER20> You're missing something. Filepicker is a great way to integrate on projects where you won't get paid $5-10k alone just for getting S3 secure uploads working. [cost of time]

<comment><USER19> I'm not sure S3 is a good example, since it uses a public API that has multiple, open-source implementations on both client and server sides.

<comment><USER20> But it still takes a while to implement, test, refactor, integrate if you're doing it at scale, distributed, and securely. I can pay $15 and have that done with minor integration. I've used it for just this. Their ability to upload from Dropbox, file system, S3, etc are really nice.

<comment><USER19> Ok, but what happens when they go bankrupt, or get bought out and have the rates doubled or service halved or otherwise ruined? What happens when they have downtime, and your customers complain, and you have to give them the excuse, "Sorry, but Filepicker is down," and they say, "Huh? Pileflicker? What's that? Just fix it! I need to upload now!"

Every external dependency or middleman you require hands over some control of your product or service to someone else. You put yourself in their hands and are at their mercy. And for what? Convenience? Laziness? When there are standard, proven, tested FOSS solutions that don't depend on middlemen, that you can debug and fix yourself?

Web sites are becoming far too interdependent. It wasn't many years ago when web sites had ZERO external, third-party resources, except banner ads. Now every page loads 35 JavaScripts from OTHER DOMAINS, all of which run in the context of the site the user is actually intending to visit. And several of them usually are required, or else the site looks horrible or breaks completely. It's madness.

<comment><USER21> > It's madness.

I strongly agree.

I weep for what the web could have been. I don't think people realise what they're losing. Sure, you get some nice CSS or JS stuff, but we've lost platform independence.

Over the years there have been a few campaigns with little banner-buttons. Some of those have been bad ([BEST VIEWED WITH IE!]) but some of them were good.

It would be amazing if there was a campaign to get websites to validate, and to fall-back gracefully, and to be accessible.

I'd also love it if web creators would test sites on real hardware and real networks. My iPhone / android / 3G stick on GiffGaff or (what was) T-Mobile in SW UK is probably much worse than whatever you're using.

</comment></comment></comment></comment></comment></comment><comment><USER22> We've been a customer for going on two years. Working with Anand and Brett was consistently a pleasure. I wish you all the best of luck!

</comment><comment><USER23> im really curious to know how much the founders made from the deal.

</comment><comment><USER24> Looks like this YC company burned through 1.8M from Andressen Horowitz, and all of the original founders have left the company to work somewhere else. Sadly, no acqui-hire this time.

<comment><USER25> > Sadly, no acqui-hire this time.

What are you talking about? This is much better than an acquihire. They've built a good product that people like; it just isn't VC material, as it turns out. So they've found a way to keep their good product going.

</comment></comment><comment><USER26> Whatever happened to Thomas? Haven't been keeping up with filepicker in a long time.</comment>


First look: KDE 4.1 alpha looks promising - <AUTHOR> http://arstechnica.com/news.ars/post/20080430-first-look-kde-4-1-alpha-1-very-promising.html

<comment><USER2> Simply: no.

KDE, you just got it like Qt:

\- too huge

\- too MS-like

\- too 'take-over-the-dev-world' like

<comment><USER3> I have also gotten that feeling with KDE 4; it feels to me as if it is barely customizable.

KDE 3.5.6, however, I think is quite good and doesn't force you into anything. Everything is customizable, it's speedy (-er than v4 by a lot), and GNOME apps as well as others work perfectly on it, so its not taking over anything.

KDE 4, though, needs a lot of work. I hope the devs improve it quickly, or keep supporting version three for a while, because as it is right now, KDE 4 feels unpleasant and junky.</comment></comment>


Uber Is Crushing It in Nigeria? - <AUTHOR> http://www.cbinsights.com/blog/trends/uber-app-store-rankings

<comment><USER2> Many theories are being thrown around, but the trend in the headline does not seem suspicious or surprising at all even though it's a country often associated with fraud. I grew up in Nigeria and personally know plenty of Nigerians who regularly travel back and forth between London and U.S. cities where Uber operates, plus it's the most populous country in Africa so if even a tiny fraction of the country is traveling abroad, that would be a large number of people and probably a large percentage of downloads in a category (Travel) which the rest of the population doesn't use as much.

<comment><USER3> Stephen -- really good points. I think the breadth of the countries is still surprising / bizarre. While Nigeria does sound plausible based on your comment, others like Mongolia, Kazakhstan, Barbados, etc do not have the same characteristics and so def a bit stranger.

Thoughts?

<comment><USER2> If iOS users tend to be a small affluent subset of the population of small developing countries such as Mongolia, then they're more likely to be travelers and downloading apps needed in other countries, right? If the total number of downloads of all apps is pretty small in those countries, then it's no big deal to make it into the top 1000, because it might just mean there were a few dozen downloads of your app.

<comment><USER3> Great point. Lyft may still be the surprise in this. Affluent Mongolians are unlikely to be traveling and looking for a way to share rides with strangers, no? Possible perhaps but sounds much less likely.

</comment></comment></comment></comment><comment><USER4> It might be visitors from those countries downloading the app via their respective carrier's app "storefront" while visiting a city where the services are offered/operating.

<comment><USER2> That's possible, but I do think there are enough travelers in these countries to account for a lot of the "surprises" they're finding.

</comment></comment><comment><AUTHOR> Hey guys - Farhan from CB Insights here. We're collecting and analyzing a ton of mobile data (50GB a day, 650M+ rows so far!) and are trying to surface interesting publishers and trends.

If you have any questions about the analysis or have any topics you'd like us to look at, let me know. We're always looking for ways to slice and dice this data set. I'm at fahmed at cbinsights.com.

</comment><comment><USER5> Perhaps the App Store should provide an option to the developers to hide the app from the listing pages based on a negative list of countries?

</comment><comment><USER6> Buy installs.

<comment><USER7> This is exactly what it is.

<comment><USER8> without knowing how the country is determined, how can you be exactly sure what it is? maybe many wealthy nigerians are in new york and have uber installed?

<comment><USER2> Exactly. A large number of Nigerians travel to London, NYC, DC, etc, and I imagine travelers account for a lot of the other countries' stats as well.</comment></comment></comment></comment>


Foursquare Founders Take Home $4.6 Million From Series B Round - <AUTHOR> http://www.businessinsider.com/foursquare-series-b-sec-filing-2010-7

<comment><USER2> im guessing this is back pay for the funds crowley put in after his angel round. Because there was no way you go from zero to 25 employees on $1m.

</comment><comment><USER3> seems like quite a bit to take off the table.</comment>


Show HN: G3N – Go 3D Game Engine - <AUTHOR> https://github.com/g3n/engine <comment><USER2> It needs way better pictures to sell itself to the developers. A wireframed sphere is not very inspiring.

<comment><USER3> See the repository of the engine demo: [https://github.com/g3n/g3nd](https://github.com/g3n/g3nd)

It has an animated gif in the README showing more functionality.</comment></comment>


Do you use RSS? - <AUTHOR> Hi,
I'm trying to build a website which its contents is based on RSS, create profiles and categories that organize the information. Also allow users to create their own static profiles and add their websites too.
I don't know if it's better focus on a simple category or niche, for example: bitcoins, or it's better try to add every kind of information.
What do you think about it?
Thanks in advance. <comment><USER2> Yep, I'm all about RSS. I regularly use RSSOwl and/or Digg Reader to consume feeds, and I use a lot of Google Alerts configured as RSS feeds. And one of my company's projects, Neddick[1], is built largely around RSS.

[1]: [https://github.com/fogbeam/Neddick](https://github.com/fogbeam/Neddick)

<comment><AUTHOR> First of all thanks for reply, and I'm subscribed in a lot of RSS feeds to be updated in my favorite topics. Neddick sounds so good, I'm building something like that, by reading RSS and by building content about entries posted in them.

</comment></comment><comment><USER3> Yes, sure do. Pretty much only through the Reeder IOS app, but there are still many blogs that I follow for stuff that might slip through the cracks in my twitter feed.

</comment><comment><USER4> i still love RSS feeds. if you just want to display RSS feeds, I think it's better to focus on a niche. If you want to let users manipulate feeds and do complex interactions then I think a wider range of categories is OK.. but try to narrow down a few different niches to target and try to attract to your site.

<comment><AUTHOR> It's perfect, I love RSS too. My idea is create a simple app to manipulate feeds, so you can register with an email, and add your favorite websites. I'm going to think about focus on a niche or categories. Thanks for reply.

</comment></comment><comment><USER5> Yes, religiously; Feedbro (chrome extension) is my reader right now

<comment><AUTHOR> Thanks for reply! I did not know that extension, it's great, but my idea is build a website, maybe later I will do an extension for explorers or an executable for Windows/Unix.

</comment></comment><comment><USER6> Yea.

[http://rssident.com](http://rssident.com)

<comment><AUTHOR> Hello again, excuse me, is rssident.com yours?

<comment><USER6> Yea it is. I am going to add some new features and bug fixes soon but I am busy with work.

<comment><AUTHOR> Ohh, congratulations! your site is so great. I hope you add your new features.</comment></comment></comment></comment>


"Adobe ignored reader problem for 2 years, now ignoring solution" - <AUTHOR> http://www.pretentiousname.com/adobe_pdf_x64_fix/index.html

<comment><AUTHOR> Appropriate given the recent discussion of "Adobe is lazy" and "Adobe doesn't fix flash bugs".

From the link (a tl;dr, if you will):

"""Adobe Reader comes with Adobe's PDF preview handler but the installer has a mistake which means the preview handler does not work on 64-bit systems. People have been complaining about this for over two years with no official response. It turns out the problem can be fixed via a simple registry change.

(Update: Months have passed since I discovered the fix and Adobe still haven't corrected their installer. Having ignored the problem for over two years Adobe seem intent on ignoring the solution as well. That's despite me doing the research for them, giving away the fix for free and having hundreds of grateful people confirm that it works. What a useless company.)

I wish I could bill Adobe for my time fixing their mess. The ridiculous thing is that whenever we've tried to officially inform Adobe of bugs in their code (like blindly calling through a null pointer after a failed QueryInterface), bugs which we've found and worked around for ourselves but which may cause problems for other people, they've asked us to pay them for a support contract. WTF? Who is supporting whom here, exactly?"""

<comment><USER2> This isn't directly a reply to your comment, but the way I've seen Adobe for a while is not that they are lazy, but that they are not focused.

They keep coming out with new products for Flash (Catalyst, iPhone apps, Air, Flex 3/4, Stratus...) and new features for Photoshop (like import of 3D models) instead of really polishing what they have.

When I develop for Flash, I stay away from the IDE as much as possible and use Eclipe/FDT/Ant instead. The IDE is just wasting my time for most tasks since it's slow and buggy and their recent interface overhaul was a major step back.

If they simply take what they have or even cut back a bit, make all of their products work together beautifully and easy to use, I think they will be fine. Right now it feels like they are chasing the latest and shiniest tech.

<comment><USER3> Well it's like they have no concept of maintenance at all in their product management. Literally they produce some code and _never_ touch it again. Witness the hundreds of various similar UI elements in any single piece of their software, all of which act essentially the same. Why not go back and retrofix the old stuff? Because they don't maintain anything they've previously built. If they could solve the registry bug messaged previously by simply piling on some new features, it would be done. But since that's not how one fixes registry bugs, it'll never be done.

It's like the Soviet model for building software. Build it once, build it shoddily, never maintain.

</comment></comment></comment><comment><USER4> Well this just goes to explain why Adobe is failing and why apple is boxing plugins in separate processes and everyone is pushing for HTML 5's <video> and <audio> tags. The fact is, nobody wants adobe's crap, because everyone seems to be able to fix these stupid bugs except for adobe.

<comment><USER5> Adobe is dysfunctional. The proper treatment for such companies; workaround them and leave them behind.</comment></comment>


How Do You Raise a Prodigy? - <AUTHOR> http://nytimes.com/2012/11/04/magazine/how-do-you-raise-a-prodigy.html?src=dayp <comment><USER2> amusingly not a mention of benjamin bloom and his seminal work "Developing Talent in Young People". he and his team studied over 120 individuals under 40 in 6 fields and found consistent themes. this few page PDF breaks it down nicely:

[http://www.kragen.net/uploads/4/5/4/3/4543087/developing_tal...](http://www.kragen.net/uploads/4/5/4/3/4543087/developing_talent_in_young_people_- _book_review.pdf)

in short, parents, educators, and kids have to own specific roles in this. sadly little of this is outlined in the piece. more on this in an interview with bloom:

[http://leading-learning.blogspot.com/2009/01/developing- tale...](http://leading-learning.blogspot.com/2009/01/developing-talent-in- young-people.html)

while not everyone can raise a prodigy, a prodigy can come from anywhere.

<comment><USER3> Nice to see a comment on Bloom. The Kaplan folks mentioned in their initial lecture that they found most MCAT questions fit within that schema. So, like we do in the military, I read what the enemy wrote for each each other: I pulled his Taxonomy of Educational Objectives. Most of it is very dry government-reporty sort of stuff, but the Appendix is a nice concise outline. Email me if you want a copy, or see if you can get it through interlibrary loan.

</comment></comment><comment><USER4> Freeman Dyson on Norbert Weiner (intentionally raised as a prodigy):

[http://www.nybooks.com/articles/archives/2005/jul/14/the- tra...](http://www.nybooks.com/articles/archives/2005/jul/14/the-tragic-tale- of-a-genius/)

<comment><USER5> This appears paywalled -- Is the full article available anywhere?

<comment><USER6> Not just that, it stopped it at the most awkward place in the story:

> _He made his reputation as a pure mathematician by inventing concepts such > as the "Wiener measure" that …_

<comment><USER7> I assumed this was where he lost his status as prodigy.

</comment></comment></comment></comment><comment><USER8> advice on education, by Terrence Tao who is himself a prodigy mathematician: [http://terrytao.wordpress.com/career-advice/advice-on- gifted...](http://terrytao.wordpress.com/career-advice/advice-on-gifted- education/)

I think the article doesn't really answer to the question of the title, but is rather a bunch of example of very gifted children (in the field of music).

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

<comment><USER10> I'm curious about how the HN duplicate detector distinguishes cases like this. I had seen the earlier submission and was surprised that there wasn't more discussion about it.

Elsewhere in cyberspace, I have had parents of high-IQ children (as ascertained by national membership organizations) tell me that they think the submitted article is thoughtful and reasonably factually accurate. I would like to read the book on which the submitted article is based.

If you like reading about this subject and closely related subjects, it happens that I was just at my town's local Wikipedia Loves Libraries event, and in a conversation with a librarian there a bibliography about human intelligence

[http://en.wikipedia.org/wiki/User:WeijiBaikeBianji/Intellige...](http://en.wikipedia.org/wiki/User:WeijiBaikeBianji/IntelligenceCitations)

was viewed by the librarian and me. That's a good source for more current reading about bringing up gifted children and closely related topics.

</comment></comment><comment><USER11> Another case in point: the Polgar sisters[1][2][3], raised by their father[4] to prove the point that "geniuses are made, not born".

[1] - <https://en.wikipedia.org/wiki/Susan_Polgar>

[2] - <https://en.wikipedia.org/wiki/Sofia_Polgar>

[3] - <https://en.wikipedia.org/wiki/Judit_Polg%C3%A1r>

[4] - <https://en.wikipedia.org/wiki/L%C3%A1szl%C3%B3_Polg%C3%A1r>

<comment><USER12> It would have been even more profound for each daughter to have been made a prodigy in a different specialization. I suppose the availability of instructors in three separate areas would have been a barrier though.

</comment></comment><comment><USER13> Great variety (and quality) of the sensory input and stimuli from the very first breath?

</comment><comment><USER14> Win (or lose, depending on your perspective) the genetic lottery.

<comment><USER15> The first few pages of TFA seem to be more about raising a prodigy than about giving birth to one. I.e., given that your child is a prodigy, what parenting techniques are useful?</comment></comment>


Snipper – Save your code snippets and notes - <AUTHOR> https://snipper.app <comment><USER2> I would want to try this out but $8.99 and not some kind of free version makes it really hard to encourage me to use this. Have you thought of a free version that possibly: * limits the amount of snippets * limits certain languages * limits storage sources

<comment><AUTHOR> @erdaniels, yes. There will be a separate release outside the App Store, with the free one week trial. I am working on it at the moment.</comment></comment>


Thanks, UK Government, for Not helping me build my startup - <AUTHOR> http://eu.techcrunch.com/2010/02/16/guest-post-thanks-uk-government-for-not-helping-me-build-my-startup/

<comment><USER2> Upvoted only to say that this article is apppalling - FUD all over. (feels strange to "defend" the government, but this dude is way off line).</comment>