Does free mean you cannot complain? - <AUTHOR> http://www.codelathe.com/blog/index.php/2009/05/04/does-free-mean-you-cannot-complain/

<comment><USER2> Well, no. In fact, for services which are purely free, complaining is really the only way to push for a change.

But it does mean that if you're complaining about something very far outside the core of the product, you're a lot less likely to be taken seriously by either the provider or bystanders, and rightfully so. And if it's a freemium service, you shouldn't be surprised that complaints from paying customers warrant more attention than free users.

</comment><comment><USER3> More importantly than how much it costs is how it represents itself. If a service specifically tells you that from time to time you can expect a few hiccups, you can't complain, paid or not. If Gmail were to announce that it had developed the perfect spam filter, and people switched to it for that very reason, they would have every right to complain if it didn't work.

</comment><comment><USER4> I don't know why so many people come to rescue twitter. So, the point of argument is don't whine if you lose tweets. Because the notional value of tweets is less compared to gdocs.

I guess there are four methods: 1\. calmly complaining 2\. complaining 3\. bit of grunting 4\. whining

</comment><comment><USER5> No, you shouldn't complain, but you could do one of either two things:

1\. Offer constructive criticism. In some cases that won't work ("Hey, try not to lose my emails next time, OK?") but in others it works a treat ("Hey, can you offer me a way to download my email?").

2\. Vote with your feet as most likely there are competitors that offer the same service also for free. Good luck moving your data, but you already knew you were committing your data to a service that is not guaranteed to exist tomorrow, right?

</comment><comment><USER6> there is, I would suggest, a difference between complaints and whining.

Whining is only, really, allowed when you pay for a service. Other wise register your complaint calmly and sensibly.

Secondly there is a vast difference between losing some tweets and gmail losing emails or gdocs losing documents. Sure have a bit of a moan: but you can only really viably complain if what is lost has significant value (a point the blog writer makes whe nhe talks about grannies vs. companies losing email).

<comment><USER7> if something is not right, does it matter what the tone is? Why there is always such a defense to twitter?

<comment><USER6> dont get me wrong: im not defending Twitter (it bugs the crap out of me sometime).

I just heartily dislike whiners (having experienced being whined at over a service). Fine it doesnt work, fine it's a problem: but if you've raised it with me dont remind me every 10s and dont posts a million blog posts lambasting me for not fixing it instantly. If it's not fixed next week tell me again, if it's still broken in a month THEN have a moan. But if you whine the second it breaks I wont bother fixing it till you ask nicely :)

<comment><USER7> yeap.makes sense. i agree.

</comment></comment></comment></comment><comment><USER8> If you are using a service that is making money by your mere presence aren't you in a way paying them?

Although I don't exactly understand the rationale that free invalidates complaints, I would think a company wants to hear from their disgruntled customers. While praise is a nice morale boost it's the unhappy customers you need to please, the happy ones are already taken care of.

</comment><comment><USER9> It does mean you can't complain (or risk sounding like a whiny teenager) It doesn't mean you can't offer constructive criticism or take your business elsewhere.

</comment><comment><USER10> Nothing means you cannot complain.

</comment><comment><USER11> I've seen this a few times on HN. I don't like it.

Somebody will make a criticism about the programming of the site and somebody else will say something like shut up and stop complaining! It's free.

I think any time a user of your code speaks, you should listen. There's good stuff in there. I don't care if it is free or not. If you're providing it, and I'm using it, then we're in some kind of a relationship. And that relationship means I get to provide feedback. I _also_ think that people should be polite when providing feedback.

And I would like a pony.

Now can we get back to technical articles instead of "what's polite?" articles? Is this Ms. Manners or HN? These things will just generate unneeded smoke.</comment>


Making tab switching faster in Firefox with tab warming - <AUTHOR> https://mikeconley.ca/blog/2018/01/11/making-tab-switching-faster-in-firefox-with-tab-warming/ <comment><USER2> I want this off. I know there's a setting.

What I _really_ want is to be able to open a link in a tab and _not_ load it (much less render it) until I switch to that tab. Why? Because I sometimes open lots of tabs and don't want those pages to have scripts running even from origins I allow (via NoScript) until I say it's OK (by switching to the tab).

Think of it as ephemeral bookmark that I want to get to _later_.

<comment><USER3> I actually want it the other way around. I want those Tab to be loaded in lowest priority, once they are finished rendering, pause it for eternity until i switch back to it.

So I literally want a snapshot of it staying there. This way when i switch to it, it should be close to instantaneous.

I have been thinking of another Idea, when unread tabs reach a large number, these tabs were once opened, but inactive or not touched for a period of time because i didn't have time to read it yet, should automatically move off to another Window. And this Window should be designed to have Tabs on the side, and some other changes making it more of a reading session rather then browsing / surfing session.

Why not bookmark it or Pocket it, because these action will simply means i will never touch them again or I forget about it.

<comment><USER4> "Why not bookmark it or Pocket it, because these action will simply means i will never touch them again or I forget about it."

My view is those pages don't actually matter to you, they're irrelevant and you won't actually miss them.

<comment><USER5> A common response.

As a reluctant user of tree style tabs (holding out for the restoration of tab groups), I disagree.

I usually have different sets of tabs open:

      - A set for each of the 2-3 projects I have active this month
      - Casual browsing
      - Read later
      - Do later

This adds up easily to one or two hundred tabs -- and these aren't bookmarks. Bookmarks aren't gone when you close the tab, which is the desired behavior for all the above cases.

Pocket or similar (ignoring my refusal to use a 3rdParty service for my own data) would only be useful for do-later and read-later.

With tab groups I had a perfect setup which supported /all/ my use cases in one go. With TST I can roughly approximate this with a top-level tab for each (it's not great).

Bookmarks need to be replaced with something that covers a wider range of use- cases without having to cobble together a bunch of different workflows.

People know about bookmarks and pocket. Most people who are actively searching out extensions are not avoiding learning a different workflow (obvious if you think about it). I've gone through many different workflows, and I'll keep testing out more. Tab groups was the best thing yet for me.

<comment><USER4> I know it _seems_ like all of those things are important to you, but they really aren't.

They're mostly just passing momentary fascinations, so either act on them or let them go. If something actually _is_ important, you'll come across it again, or simply remember it.

I struggled for years with tons and tons of unread tabs, forgotten bookmarks, endless unstarted projects, hundreds of unwatched movies, unlistened albums. Learning to just let them go was the best thing that ever happened to me. The important stuff tends to stick around in memory, all by itself.

As a small part of that, I've instituted a "24 hour minimum" rule. If I see something I like, I add it to the shopping basket or save it in some other way that's not immediately visible when I'm on my PC or phone. Then I wait at least 24 hours. If I _still_ desire that item after the waiting period has passed, I'll consider buying it. It has saved me so much money, and helped me avoid a ton of junk that would otherwise just be taking up space in my home.

Keeping too much stuff "active" is stressful as hell, and it's wonderful to be able to just not care about it.

<comment><USER5> I see your point, and it looks like I replied to the wrong person. Your points likely apply to my read-later and do-later groups. (I might argue, but should probably take it to heart first).

My point about bookmarks and pocket not filling my use-case (even if I dropped read/do later) stands -- I really do want multiple switchable tab contexts.

</comment></comment></comment></comment></comment></comment><comment><USER6> Neat. This technique seems to be based on hovering over a tab with the mouse. Power users likely to benefit most from this optimization likely cycle through tabs using ctrl+tab. Is any thought being given to a way to implement the technique for ctrl+tab users?

EDIT: Just spotted the FN saying "Right now, we simply detect whether you're hovering a tab with a mouse to predict that you're likely going to choose that, but there are certain more opportunities to introduce warming based on other user behaviours." Hopefully ctrl+tab is one of those behaviors it can be baked into.

<comment><USER7> I can already see the bug report -- 'my CPU usage shoots up when I hold down ctrl.'

<comment><USER8> So [https://xkcd.com/1172/](https://xkcd.com/1172/) ?

</comment></comment></comment><comment><USER9> > And in the event that we were wrong, and you weren't interested in seeing > the tab, we eventually throw the uploaded layers away.

No comment on the increased CPU usage/effect on battery life this might have. I haven't tested it yet, but it seems like it could be significant. I hover over way more tabs than I switch to sometimes.

I currently have a lot of tabs open (in Chrome) and I switch frequently. However, I hover over a tab only to read the title, rarely to click. I'm interested in checking out Firefox again soon to see the new performance gains (maybe including this one), but does it affect battery life?

What if the false positive ratio is nearly 100%, like I suspect it would be for my patterns? Does this affect other performance like scrolling or typing if I've also been hovering over a lot of tabs?

Interesting work!

Edit:

> Maybe this is my Canadian-ness showing, but I like to think of it almost > like coming in from shoveling snow off of the driveway, and somebody inside > has already made hot chocolate for you, because they knew you'd probably be > cold.

How sure are you that you won't end up with a whole bunch of hot chocolate that nobody wants? What is the waste factor when the extra work is done unnecessarily?

<comment><USER10> > How sure are you that you won't end up with a whole bunch of hot chocolate > that nobody wants? What is the waste factor when the extra work is done > unnecessarily?

This is one of the things telemetry data can be used for. We can include telemetry probes in the browser that tell us what percentage of the time users end up switching tabs after hovering. Then we can make informed decisions about whether the feature is worth the extra complexity (and CPU cycles) before any development work is done. As far as tailoring the feature to individual browsing habits, telemetry could inform whether or not that would be worth implementing.

<comment><USER11> And I guess this wouldn't be possible with opt-in telemetry?

<comment><USER12> Not reliably, as only power users will ever even consider opting into telemetry (or changing pretty much any setting for that matter). And power users generally have a much clearer layout of the tabs in their mind and will always go straight up and click, rather than ruffling through the tabs for a second. Or something like that. You get the idea, behavior here is simply different for power users and those are who you'll reach with opt-in telemetry.

Also has to be asked, though, what's the point in making this opt-in? Is it in any way sensitive information whether you click after hovering a tab? I also prefer being more cautious than is necessary, because sometimes there just is some privacy implication you didn't think of, but with this the risk seems incredibly low and they do have a clearly defined use for the telemetry.

</comment></comment></comment></comment><comment><USER13> This reminds me of that javascript technique where you load a page as soon as you detect a mouseover on the link.

[http://instantclick.io/](http://instantclick.io/) (try their documentation page for a demo of link-clicking)

<comment><USER14> Very cool. Do you know if it behaves correctly with caching (e.g. Forward/Back buttons)? Generally speaking, Javascript modifications to a page cause inconsistencies with what the user sees when Back is pressed (and it seems impossible to avoid this?), so I'm wondering if this is a caveat here as well.

<comment><USER13> For a while it has been possible to manipulate browser history with pushstate and popstate, including the URL that shows in the address bar. I believe that for a while now it has been possible to fully imitate a conventional website on a single "page." (A while ago, I worked on doing this on a job where we had to keep a websocket open at all times.)

</comment></comment></comment><comment><USER15> Hmmm. I don't notice a delay on switching to the wavey tab loaded in the background.

<comment><USER16> Same for me - switching to the wavey tab is instantaneous. However, I do see a ~500-1000ms delay when switching _from_ the wavey tab to any other tab.

</comment></comment><comment><USER17> Maybe it's just me, but switching tabs to this HN page takes longer than his "wavey" example page.

On Firefox 52.5.2.

<comment><USER18> Both are instantaneous on 59.

Are you staying on 52 for a reason? Is that a ESR version and you require some addons that cannot be ported?

<comment><USER17> > and you require some addons that cannot be ported

Yup, Tab Groups. Plus I need the Unity 3D extension, and ALSA sound (which they also disabled). And Flash (although I know that's still supported for now, I'm never not going to need it - even years from now).

I have no idea how I'll ever get off that version. Really not pleased with Mozilla. I can't even go to 57.

My current plan is to keep 52 forever, and once it's not supported use the latest version for normal browsing, and launch 52 when I need it. Maybe in some kind of sandbox, since I'm sure there will be unpatched vulnerabilities.

I'll have to do something about all my Tab Groups though - I have around 20 or 30 of them, really not looking forward to migrating them, but I'll have no choice. And I'll have to install PulseAudio.

I've been using Firefox since it was a beta project (even have bugzilla reports from 1999) and I've never been as disappointed with them.

Edit: I know we're not supposed to ask, but I just have to, why did two people downvote this? What could possibly be there to downvote? Am I not allowed to have an opinion on Mozilla or something?

<comment><USER18> Thanks for that.

There are various solutions to tab groups out there, I thought? Just recently my Nightly seemed to have something like that natively (can't find it again now, but it allowed me to categorize tabs into groups)?

Cannot comment on Unity. I wasn't aware that Firefox requires Pulseaudio, but I've never understood the resistance against that project either - let's consider it a preference.

But why are you personally disappointed with Mozilla? Do you believe that the browser got worse for the general case or is this the feeling of being left out at the side of the road because you have special & specific requirements and preferences that aren't completely common?

(I didn't downvote you and I always had and have personal issues with Firefox myself - but I believe that it's becoming a more and more improved browser for ~everyone~ insofar as that's possible)

<comment><USER17> > There are various solutions to tab groups out there, I thought?

Not when I last checked. The only solution is either a separate browser window for each group of tabs, or put them in bookmarks.

> I wasn't aware that Firefox requires Pulseaudio, but I've never understood > the resistance against that project either

I can deal with PluseAudio. It's just annoying since I've never set it up, and I don't need it - except for Firefox.

> But why are you personally disappointed with Mozilla?

Because they have caught the bug that to make things better you have to remove things.

It's one thing to make an alternative - like when they ruined the UI, but created "Classic theme restorer", it's another to remove features that people actually use.

Right now, Unity and Flash are better than any kind of native web technology. They just are. But Firefox is removing them anyway because of "purity" reasons.

> Do you believe that the browser got worse for the general case

Yes. Not everyone is affected equally of course, but removing things like Unity isn't a net win. Nor is removing Flash. I know, I know, not pure. I don't care. Removing flash removes so much stuff from the internet.

> or is this the feeling of being left out at the side of the road because you > have special & specific requirements and preferences that aren't completely > common?

No, I can't expect that. Honestly I can (and will) deal with Tab Groups and PulseAudio. PluseAudio especially I can understand. And I guess few people used Tab Groups.

But Unity and Flash, that's just unpleasant.

> but I believe that it's becoming a more and more improved browser for > ~everyone~ insofar as that's possible

It has in some ways. But they also messed up really bad. For example they switched to WebExtensions before creating a replacement API that Tab Groups would need! Read this if you haven't already: [http://webcache.googleusercontent.com/search?q=cache:lXF50-h...](http://webcache.googleusercontent.com/search?q=cache:lXF50-hgOnsJ:fasezero.com/lastnotice.html) (he gave up his DNS, that's how badly Mozilla burned him).

Why do that?

They removed NAPI without leaving any possible alternative.

Make the browser better by improving it. Stop making it better by not supporting things. Look at Linux "Never Break Userspace". Linux has things that are hard to support, but they deal, because it's the right thing to do.

<comment><USER18> Reading some more into tab groups I guess I understand what you're missing (I'm using Tree Style Tabs, which Work For Me™). The biggest/last blocker seems to be [1].

Pulseaudio? I think that shouldn't be a big issue imo, but you seem to agree here.

"Ruined the UI" is a tough one. For me the UI is completely fine and what isn't can be fixed in userChrome.css with little investment. What's broken or ruined?

Still unclear about Unity, are you talking about this [2]? It seems to say that this is unsupported/deprecated by the company itself [3]?

Hopefully you'll be able to migrate to a current version in the future. The 'start 52 in a sandbox' scenario doesn't sound fun at all.

1: [https://bugzilla.mozilla.org/show_bug.cgi?id=1384515](https://bugzilla.mozilla.org/show_bug.cgi?id=1384515)

2: [https://unity3d.com/webplayer](https://unity3d.com/webplayer)

3: _The Unity Webplayer is no longer supported. We provide this download link to the last build for convenience, but be aware that the Unity Webplayer has been deprecated and will not get any further update.

If you want to deliver Unity made content via web browser we recommend you use WebGL._

<comment><USER17> > What's broken or ruined?

I don't remember right now, but I do know I had to install the extension in order not to find the UI unpleasant.

> Still unclear about Unity, are you talking about this [2]?

Yes.

> It seems to say that this is unsupported/deprecated by the company itself > [3]?

It was depreciated right after Mozilla announced they would no longer support it - Unity had no choice at that point. I can't imagine they were very happy about it, it all but destroyed their company.

<comment><USER18> I'm confused. I thought Mozilla has a really shitty market share. Everyone just cares about Chrome?

And I assume this plugin wouldn't work in Chrome (does it)?

How does a web player plugin come close to destroy a company that builds a graphic engine? I thought they make their money with licenses for game developers?

So far I understand your usability complaints, but this seems to go a bit far. At least without sources, couldn't find something myself. Mozilla all but destroying Unity because of their plugin/addon policy seems .. unlikely?

<comment><USER17> > And I assume this plugin wouldn't work in Chrome (does it)?

It used to - till Chrome disabled NAPI, but for a while you could reenable it, till eventually it was removed altogether.

It used to work on all browsers, then one by one it stopped working, Mozilla was the last straw.

The company has pivoted, so I guess they'll be all right, but their thing was a 3D graphics that worked everywhere. Now it's 3D graphics that you can build for many platforms - similar, but not exactly the same.

One nice thing about the web plugin was that it worked on Linux, and very few other 3D games worked on Linux, unless specially written for it.

> Mozilla all but destroying Unity because of their plugin/addon policy seems > .. unlikely?

Yah, I'm going to far. Mozilla was the last straw rather than the main insult. I blame Mozilla because Firefox was what I used, I didn't really notice when it stopped working in Chrome (other than some posts urging people to install Firefox, which I thought was cool).

But today, right now, there are still a ton of Unity Web games that will soon be unplayable by anyone not running old code, and I find that sad, that all that work is just gone, destroyed.

Read this: [http://www.ocsmag.com/2017/04/29/kde-vs-gnome-design- philoso...](http://www.ocsmag.com/2017/04/29/kde-vs-gnome-design- philosophies/)

I want Mozilla to be like KDE, not Gnome.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> Chrome doesn't seem to suffer from "cold" tabs. Navigating to the page in the example ends up rendering it instantly. Does Chrome have different background rendering techniques than Firefox?

<comment><USER20> Yes, it loads all tabs at startup. That's not a good thing, starting chrom[e/ium] on my old laptop is not a very fast experience, even on my work machines it takes a while.

</comment></comment><comment><USER21> Great, I want this for when I am hammering Ctrl+Tab or Ctrl+Pageup/Down for the next/prev tab as well.

</comment><comment><USER22> This is the same kind of shit many software product do by loading their product at startup, their product starts instantaneously. They don't care that it takes up memory, slows startup times, bogs down the computer in general. Another way Mozilla is trying to cheat browser tests at the cost of users. They also sneakily delay loading of certain websites. While I despise these websites, I already have a way of dealing with them by blocking them altogether(no thanks to Mozilla) but Mozilla wants to cheat so that people will think Firefox is fast. Next, they'll load Firefox on startup but keep it hidden. When you "start" it, it appears instantly. Wow. Faster the Chrome. This is also the same kind of shit that pushes users to throw PCs away because it can't handle newer much more bloated software. Thanks for the extra bloat Mozilla, you bunch of slimy cheaters.

<comment><USER23> There aren't any artificial benchmarks I'm aware of that would benefit from this feature.

</comment></comment><comment><USER24> So sad, all this effort to make Firefox better, and they keep ruining everything with questionable marketing stunts.

Hard to recover from the add-on fiasco, IMHO.

</comment><comment><USER25> I can foresee tracking issues with this if every link I hover over gets pre- fetched then a good dead of network traffic will be generated that otherwise wouldn't. In particular if I don't follow a number of links which I hover.

<comment> dao- This is all about rendering already loaded pages. Nothing will be prefetched for this.

</comment></comment><comment><USER26> anyone knows how to fix this fundamental firefox flaws why the hell there is no handle window [https://stackoverflow.com/questions/48218471/how-to-run- fire...](https://stackoverflow.com/questions/48218471/how-to-run-firefox- without-a-window)

</comment><comment><USER27> Cool stuff, but can I be crotchety for a sec? I wish we could dispense with all of the cute names given to features, techniques, abstraction, etc that are not intuitive until someone tells you what it means.

No one would have any idea what the hell "tab warming" means without being told, which seems unnecessary for something that is a simple concept to understand. It increases the cognitive load in a field that already has a lot of it. Please just give your hack and techniques descriptive names; or better yet, think long and hard whether or not the thing even needs a name. "pre- render on hover" would suffice. It's one more word and I know exactly what it means instantly.

<comment><USER28> I understand your point, but in this case I understood the concept of tab warming upon reading the name.

<comment><USER29> Seconded. I knew exactly what concept was going to be introduced the moment I read "tab warming".</comment></comment></comment>


Three Big Lies (software/game development) - <AUTHOR> http://cellperformance.beyond3d.com/articles/2008/03/three-big-lies.html

<comment><USER2> The first two are completely true for games industry since modern games run into the bottlenecks faster than other software.

The third is absolutely true since data is the name of the game. I've written game engines, and each iteration only takes about one to two months of hard- core work. The value is in the content that the game engine has to power which requires scores of people working with it. Artists, production artists, sound engineers, level designers, game mechanic programmers, etc.

Big Data is no different. The more data I have, the more things I can learn about. The more ways I can study the data. When I don't have data, I can't really do anything.

</comment><comment><USER3> Sorry, I don't buy it. Performance is not the only thing that matters in software development. And certainly not to the point of calling fundamentals software design - note the emphasis on the word design - "big lies".

<comment><USER4> Mike's job is performance. His blog is about "performance, data design and game programming." In the context of the article, performance is what matters.

<comment><USER3> I get that, but saying that something is a "big lie" just because it is not that important in a specific context doesn't seem quite right in my opinion.

</comment></comment></comment><comment><AUTHOR> I posted this after seeing the "7 Game developing things I've learned so far" post. I thought it would be an interesting addition from a professional game dev.</comment>


New findings about proton size could shake up physics as we know it - <AUTHOR> http://blogs.discovermagazine.com/80beats/2010/07/08/the-incredible-shrinking-proton-that-could-rattle-the-physics-world/

<comment><USER2> These paywalls around scientific journal articles were infuriating when I was a physics grad student, and they're even worse now that I don't have a university account through which to view them.

In that spirit, here is the authors' rather fabulous website:

<https://muhy.web.psi.ch/wiki/index.php>

</comment><comment><USER3> A better writeup, a little more technical than the Discover Magazine version but far more comprehensible than the actual paper:

[http://www.nature.com/nature/journal/v466/n7303/full/466195a...](http://www.nature.com/nature/journal/v466/n7303/full/466195a.html)

<comment><USER4> "To read this story in full you will need to login or make a payment (see right)."

<comment><USER5> pssst <http://dl.dropbox.com/u/404957/flowers.pdf>

(but let's keep it between us)

</comment></comment></comment><comment><USER6> What would be the consequences if this is accurate? What assumptions are based on the size of a proton? What kind of technology was previously thought impossible because protons were just too darn big? Because (as a non- physicist) I can't think of anything.

<comment><USER7> The heart of physics right now are two theories that disagree with each other. One is Einstein's General Theory of Relativity, which is about gravity. The other is called the Standard Model, which is about quantum mechanics. (The whole Higgs boson issue? That's about measuring the last unknown parameter in the Standard Model, which is the mass of the Higgs boson.)

The hope of physicists is to be able to find a theory that combines the two. Because they fundamentally disagree, we know that one or both, probably both, are both somewhat wrong, but we don't have any idea how and where the theories begin to fall apart. Therefore if we can find experiments which show problems, then we can get insight on what the problems are with the theory, and hopefully that will lead us to a better theory.

To draw a parallel, in the late 1800s it looked like physics was nearly done. The big problems were solved. The remaining discrepancies were small. And of what practical use was it to know more about the movement of light, why black body radiation didn't look like what theory said it should, and whether there was really such a thing as atoms? Yet the answers to those few small puzzles lead to world changing discoveries from nuclear power to transistors.

Nobody can tell you what is left to discover. Nobody can guess the power of unknown scientific theories. But through history, science has proved its worth repeatedly in outside proportions. Isn't the hope that this could happen again worth at least some resources?

<comment><USER8> Yeah we don't even know if it makes sense to combine the two.

Human need for completeness is driving that, but we might find ourselves with two models that don't need to be combined.

<comment><USER7> We are trying to model one reality. Surely there must be a model that models that reality better than either of our current models?

</comment></comment></comment></comment><comment><USER9> The greatest thing a physicist (or any scientist) can say is, "Hmm, that's funny...". It's when we find out that we were wrong that a panoply of new discoveries open up before us. Exciting times.

</comment><comment><USER10> This is hard to believe. I'll wait until the experiment has been repeated using muonic helium. Most likely, the researchers made a mistake in how they applied QED in their calculation.

</comment><comment><USER11> So, either a) the proton is a different, size, b) the muon is a different weight, c) the 'electron shell' relationship to the proton size is not what they think, d)...

</comment><comment><USER12> For the physics geeks: <http://physicsworld.com/cws/article/news/43128>

</comment><comment><USER13> The article doesn't show any text for me (just the headline and white blank).

</comment><comment><USER14> Some of the comments are really interesting.

</comment><comment><USER15> Why can't humans be a little more self aware? We know almost nothing. We're still in the stone age and we need to work really hard, invest a lot more money in education and research. It's not how far we've come, it's how far we have to go.

<comment><USER15> Hmmm. I got voted down without any comments. No one can remember the big debate 25 years ago when the US had to choose between the Hubble and the Super Collider in Texas, which would have been bigger than the LHC? Hubble won, but many argued that it was a waste of money, which turned out to be far from the truth. The discoveries about to be made at CERN could have happened 2 decades ago.

<comment><USER16> _The discoveries about to be made at CERN could have happened 2 decades ago._

Not that I downvoted your original comment, but what has your follow up got to do with self-awareness or being in the stone age?

<comment><USER15> I guess I was trying to convey the fact that there are a lot of big discoveries waiting to be found. People seem to not put enough emphasis in research and education in the US. The Hubble vs Super Collider debate many years ago. Nasa is always underfunded, IMO. Seems like there is so much more we could do.

<comment><USER17> _Seems like there is so much more we could do_

Now all you need to do is mention curing world hunger, poverty and war and you'll have your Miss America speech down to pat.</comment></comment></comment></comment></comment>


C++ Frequently Questioned Answers - <AUTHOR> http://www.yosefk.com/c++fqa/ <comment><USER2> The STL is just a marvel and AFAIK C++ is the only language providing such a generic library.

Every time I tell someone about how marvelous the STL is I hear "yeah we have lists and maps in X language as well, C++ sucks".

The list I read in:

<http://www.yosefk.com/c++fqa/defective.html>

I realize the guy thinks "object oriented" too much. IMHO 2009 C++ is tailored for generic programming and meta programming. If you try to do C#/Java in C++, yes, you're going to bleed.

C++ is a multi-paradigm language, but it shines when you go generic. You can do incredible things.

And then I stumbled upon this:

"For example, overloaded operators have to return their results by value"

Wrong. The author doesn't understand the difference between, value, reference and pointer in C++. He doesn't understand copy elision. He doesn't understand operator overloading as well and when he talks about smart pointers he says you have to rely on defective (?!) meta programming features (?!). How, I thought I simply had to use std::shared_ptr.

C++ is hard. Because it's made to solve very hard problems. And yes, you can solve these problems in C, you can also solve them in assembly while you're at it.

C++ bad reputation comes from people who should never have been in contact with the language in the first place.

<comment><USER3> You should've noticed three things before writing it: 1) His background is C++/Embedded. 2) He does that successfully for a living. 3) He really knows what he's talking about.

This leads me to a conclusion: Maybe the subject of your last phrase is YOU?

<comment><USER4> The parent is right about the copy elision part (<http://en.wikipedia.org/wiki/Return_value_optimization>). GCC definitely performs this and I'm sure that it's true of other widely used C++ compilers.

I also don't know what yosefk means when he says that smart pointers rely on defective meta-programming techniques. The implementation of Boost's smart_ptr doesn't seem too esoteric to me.

<comment><USER2> More information about copy elision here:

[http://cpp-next.com/archive/2009/08/want-speed-pass-by-value...](http://cpp- next.com/archive/2009/08/want-speed-pass-by-value/)

</comment></comment></comment></comment><comment><USER5> Extensive previous discussion: <http://news.ycombinator.com/item?id=602981> .

</comment><comment><USER6> What is the point of making this almost religious? Ok, C++ sucks. Now what? I know it's shocking but you will find similar criticisms for any other language out there. Just keep an open mind and use the right tool for the job and circumstances at hand. Sometimes it may be something you are uncomfortable with. Do you want to be a programmer or do you want to be a java/c++/python programmer?

<comment><USER7> I agree with jacquesm--see the humor, but take it as cautionary. I did 12 years of C++ and it helps to take the 20% cut. If you look at google's coding standards you can see the restrictions that they put into place.

Few modern languages get as much criticism as C++, and I think rightly so. It is very complex, and takes way to long to master.

Think of the FQA as a survival guide.

<comment><USER8> _If you look at google's coding standards you can see the restrictions that they put into place._

Keep in mind, though, that reasons for many of those restrictions have to do with maintaining compatibility. This may not be as much of an issue with newer projects.

OTOH, Google's coding standards is probably the most thorough, well documented, clear, and easily available set of C++ coding standards out there. For this reason, I don't think it would be a horrible decision to use them for a new project.

</comment></comment></comment><comment><USER9> Why a post with only a link to a C++ FQA is that much high rated? Maybe I missed the point, but everyone with a bit of C++ knowledge already know that website. Suppose I post a FAQ on python, will it be top 10 ? I don't know, the author could have added a bit of explanation.

<comment><AUTHOR> I figured it is an excellent distillation of what to avoid, and more importantly, why, written by someone with a lot more knowledge on the subject than most and in a style that I thought was quite humorous.

That last bit seems to have been received in a 'mixed' fashion judging by the responses.</comment></comment>


Ask HN: Double Entry Accounting Software for Personal Use - <AUTHOR> Does anyone have any suggestions for a double entry accounting software for personal use? I'm looking for something that is a step above Mint (also not thrilled about them having my financial info) and Quicken in that I'd like to be able to have a true balance sheet and accrual accounting, but don't need all the bells and whistles of a quickbooks (plus cost of desktop is considerable and don't want to do cloud based).
Why do I want to do this you might ask? Couple of reasons 1st is that I'd actually like to look at my financials from a 3 statement perspective on an accrual basis. For example I often find myself buying plane tickets for the next few months all at once – mint/quicken would look at this and say you just went way over budget for travel, but I'd rather book those as assets on my personal balance sheet, see the hit to my cash flow statement, and recognize the expense in the months that I travel. Also, given that I have considerable business expenses that I run through my personal accounts that I get reimbursed for, reconciling those items can be pretty annoying if can't make manual journal entries. For the record Wave accounting is the closest thing that I've found, but would prefer something that runs locally. Requirements:
1. has a true GUI (so no ledger/hledger)
2. Runs on either windows or os x (would consider cloud based, but prefer not)
3. You can run reports (i.e. Income statement for x period, or payments in this category or vendor)
4. You can download bank/credit card statements (automatically would be preferred, but would settle for manual)
5. Is being actively developed supported
6. it doesn't have to support investment/brokerage accounts <comment><USER2> I would not recommend Quickbooks, either online or the Windows or Mac version. It will do what you want it to do, but it will also give you gray hair and heartburn.

I would recommend repurposing Xero for personal use. It will give you the cash or accrual method reports you want, and (in my experience) is less bad from the user's point of view.

One recurring problem is that banks don't always play nicely with these services. I am moving 10 companies off Quickbooks to Xero (four are there already).

I watched my sister-in-law (a bookkeeper with multiple businesses on Quickbooks) go ballistic because a bank had arbitrarily changed its systems and Intuit has been unable/unwilling to fix the problem. Naturally, the bank points the Finger of Blame at Intuit, and Intuit says it's the bank's fault. Intuit suggests fixes that -- on its own website there is a warning about this -- wipe out all of your historic data.

FWIW, I have seen people have intermitten problems with Citi credit cards and Quickbooks. Not sure why. I personally have Citi credit cards on Xero and they sync just fine.

Yeah, cloud. I know. Sigh.

</comment><comment><USER3> GnuCash ? [http://www.gnucash.org/features.phtml](http://www.gnucash.org/features.phtml)

<comment><USER4> Thanks for this - this may fit the bill am trying it out now

<comment><USER5> FYI: I tried this years ago (2009), & found the Windows build to be occasionally unstable- would randomly crash entirely & the process just died. I feared eventual data corruption & decided against it for this reason. Dunno if it's been resolved by now. Just saying.

</comment></comment></comment><comment><USER6> I've had success with MoneyDance. Double entry, cross-platform, full featured, customisable reports</comment>


What should the next search engine look like? - <AUTHOR> I am working on researching what should a next generational product and content search engine should look like that uses AI and ML.<p>Being new to this space, I would greatly appreciate your sharing your thoughts and any documents that i can use as reference. <comment><USER2> Disclaimer: Startup in this space, highly biased, shameless pluggery.

I think about this subject a lot. Three key innovations we'll see in the "next wave" of search engines that flood in to replace stinky incumbents (won't name any names here)

1\. New user interfaces. My effort, Glorp, attempts to transition from the "link dump" style of results page to something akin to Instagram. Faster to scan, fewer surprises, more friendly for kids and old folks. AR/VR will have some unusual needs. Audio - Alexa and Siri. We need search (in different forms) everywhere. [1]

2\. New business models. Privacy is in, advertising is out. That changes everything about the model. We'll see engines with tons of niche features, like link collections, recorded search journeys, curated subject matter experts, family accounts with parental controls, and, most importantly, monthly fees.

3\. New search mechanisms: ML embeddings. Search by image similarity, video similarity, subject matter similarity. Machine learning models transform different types of content into convenient embedding vectors. BERT gives you a few hundred floats to represent the meaning of a sentence. ImageNet, the same, for images. Once you begin to build search tooling around the notion of document embeddings, rather than just "input text," we'll be able to help users discover things in a much broader set of scenarios. [2]

Hit me up, email in profile

[1] [https://glorp.co/Search/search%20engine%20user%20interfaces](https://glorp.co/Search/search%20engine%20user%20interfaces)

[2] [https://glorp.co/Search/search%20engine%20vector%20embedding...](https://glorp.co/Search/search%20engine%20vector%20embeddings)

<comment><USER3> Sounds like you have serious backing, that is a fairly professional outline. Reminds me of some Goldman Sachs reports I've read.

<comment><USER2> Wishful thinking :) Solo project with very tiny seed. I've just been pondering the issue for a long time.

<comment><USER3> There's innovation as seen by the top down, where it is "add [new solution] to [old solution] to [madlib] the [industry]" and invention as seen by the bottom up, where it is "add [feature] to [old tool] to make better [tool]".

</comment></comment></comment></comment><comment><USER4> Does anyone remember the old Kartoo graphical/relational search engine? (Not its current hijacked reincarnation at kartoo.com)

It was not very practical as a generic search engine, but I found some very interesting links following the maps of related terms. I thought that kind of intuitive user interface would be improved and become popular, but they never did.

</comment><comment><USER5> I don't know if there will be a 'next search engine'. From the days before Google, search engine in general haven't changed much.

In the beginning there was just string matching, word stemming followed, then we had synonyms and are getting more towards NLP for getting the user intend. Also, if the communication with the engine is via a text box or via a voice command or a live smartphone picture (for augmented reality) does not really matter.

So, what can change is just the "smartness" of information retrieval at the backend and the ranking factors (from freshness to PageRank to whatever).

Given the fact that the market power of Google actually shapes the internet by introducing their best practices (like AMP or schema.org) on webmasters on a large scale, I doubt that there will be one company with _the_ big breakthrough in information retrieval like Google was. Maybe this field is now more or less saturated for the majority of use cases that it will only evolve slowly and not revolutionary.

</comment><comment><USER6> UI ideas: \+ Infinite trail of breadcrumbs (pages visited) that you could potentially share with others (show how you found the info based on path)

\+ Tree-based navigation (go back a page and overwrite your cached future? no thanks)

\+ some sort of warmer/colder haptic feedback could be cool if there's a convergence on results for specific terms

\+ some useful topic overview of things I searched in the last 1 year, 2 years, 3 years, etc. See where my mind has been.

</comment><comment> d-sc Idk, I've always looked for a search engine that prioritizes good content over pages with ads. Like, there's 7 billion people on this planet, are you telling me there is no one that has a cookie recipe that nicely fits on one page without going through oodles of advertising.

</comment><comment><USER7> Think about the business model first. This is a good place to start.

[https://twitter.com/ianbremmer/status/966677755424313344?s=2...](https://twitter.com/ianbremmer/status/966677755424313344?s=20)

</comment><comment><USER8> I'd like one that works and finds the stuff I'm looking for. How about that?

Not sure I (or pretty much anyone else) care how it does that.

</comment><comment><USER9> I will give you a clue, or rather a framework for thinking. Then you can elaborate more.

So the imbalance today exists because the search engine uses AI against humans.

The next phase will be (or should be) AI against AI.

The human UI of the search engine will not be used by humans but by an AI representing the human.

If you follow this paradigm, you can see how powerless the centerl search engine becomes.

</comment><comment><USER10> Actually google but not gamed by seo would be next generation.</comment>


Don't Let Congress Hand Patent Abusers Their Ultimate Wishlist - <AUTHOR> https://www.eff.org/deeplinks/2019/09/dont-let-congress-hand-patent-abusers-their-ultimate-wishlist <comment><USER2> The broader issue is that the USPTO will let you patent anything. They have a long review process, but so many stupid things get approved that the agency is a sad joke.

The latest example:

[https://www.eff.org/deeplinks/2019/07/someone-suing- companie...](https://www.eff.org/deeplinks/2019/07/someone-suing-companies- using-sms-messages-2019)

<comment><USER3> The patent examination process is not well understood by most people.

Once a patent is received, the patent examiner carefully places the application into a room full of other patent applications.

Then kittens are released into the room with PATENT GRANTED stamps affixed to their feet.

The kittens are then returned to their holding area to await the next round of patent examination.

The patent examiners collect the applications from the floor and look to see which patent applications were granted.

<comment><USER4> The use of kittens was specifically specified by lobbyists as they knew that would make it impossible to change the procedure. Who's going to vote against kittens? Squee!

</comment></comment></comment><comment><USER5> Edison spent a large part of his career:

1\. being sued for patent infringement

2\. suing for patent infringement

3\. being hired by companies to find workarounds for patents

It's doubtful any of that was worthwhile in the end.

<comment><USER6> I am surprised to read this: his patenting of the stock ticker and the two-way telegraph is listed on Wikipedia as the key to his fortunes. Do you mean "worthwhile" as in wrt. society or for him?

<comment><USER7> That surmises Edison had to have patented those inventions to secure his future fortunes.

I'm pretty sure the comment you're replying too was attacking the worth of patents, not the inventions.

<comment><USER5> Hollywood was also born of people trying to get away from Edison and his patent lawsuits.

</comment></comment></comment></comment><comment><USER5> The US patent system is why the US lost 10 years of aviation development and the Europeans took the lead. The US arguably did not catch up until WW2.

<comment><USER8> Why didn't the problem reappear after the war?

<comment><USER5> The government forced them to create a patent pool.

<comment><USER8> Interesting.

Where can I read more about it?

<comment><USER5> Here's an overview:

[https://en.wikipedia.org/wiki/Manufacturers_Aircraft_Associa...](https://en.wikipedia.org/wiki/Manufacturers_Aircraft_Association)

[https://www.wipo.int/wipo_magazine/en/2018/06/article_0007.h...](https://www.wipo.int/wipo_magazine/en/2018/06/article_0007.html)

</comment></comment></comment></comment></comment><comment><USER9> The tech companies changed the game in their favor when they successfully lobbied and changed the law to first to file vs. first to invent.

<comment><USER10> "First to invent" doesn't make much sense when the point of the patent system is to get inventors to publicize their inventions in return for a guaranteed monopoly.

"First to invent" runs counter to the patent system.

<comment><USER11> First to invent is indicative of a policy that favors individual inventors over well-funded corporations.

Little inventors might like to shop an idea first and then file a patent application if they find traction or funding. US law allows for a one year grace period after disclosure. Fail to file within one year, all US patent rights are lost. Outside of the US, any public disclosure before filing bars a patent.

Big Corp has the money to file patent applications early before disclosure.

Now with first-to-file in the US, there still is a one-year grace period in the US, but the first applicant to file is the winner not the first to invent.

Among other things, this is bad for small inventors because bad actors can file patent applications on the small inventors' inventions first. Trolls can and do scour websites to identify inventions that may be worthwhile sniping. In the old days the inventors just need to show that they invented their invention before the troll filed their patent application. Now, you have to prove that the troll literally stole the idea which the USPTO doesn't really look into.

<comment><USER12> So, my understanding of first-to-file is that _any_ public disclosure counts as prior art for anyone else. So the only time you would have to prove the troll literally stole the idea is if your disclosure to them was non-public.

In either case, it's likely that the USPTO isn't going to notice before issuing the patent, but under first-to-file it is way easier (read: cheaper) to show that "X document was published on Y website on Z date" than it is to start doing discovery to compare private lab notebooks or whatever to decide who _really_ invented the thing first.

This only ever affected a minor number of cases anyway, and the change mostly just made litigation costs cheaper and more predictable.

It also seems really great for open source software (where I personally work), since everyone publishes everything they do immediately anyway.

<comment><USER13> First to file has nothing to do with prior art. It's about what happens when two companies claim to have invented the same thing.

<comment><USER12> One might easily believe that based upon the name, but a number of changes to how prior art worked in the US were required to implement it. Please consider [https://www.uspto.gov/web/offices/pac/mpep/s2152.html](https://www.uspto.gov/web/offices/pac/mpep/s2152.html)

In particular, the paragraph starting with "Although some of the provisions of AIA 35 U.S.C. 102(a) and (b) are similar to pre-AIA 35 U.S.C. 102(a), (b), and (e), the AIA has introduced a number of important changes with respect to prior art ..."

Edit: And more importantly, Section 2152.01 right below it.

<comment><USER13> Ah, you're right. The critical date for a patent is now the date of filing rather than the date of invention. Apologies for jumping the gun—I misread your comment as suggesting that first to file somehow changed how you calculate the date as of which a non-patent disclosure (such as an article) is prior art.

<comment><USER12> No worries. It is rather the date that you compare it to that changed (filing rather than invention). I could have expressed that more clearly.

It actually does change the dates for when patent documents are considered prior art (as described in the first paragraph I referenced), so it is easy to get the issues confused.

The effects of first to file on how prior art works are, in my opinion, _way_ more important than the litigation edge condition it eliminated.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Copyrights and patents should be reduced to a maximum of 7 years and then opened up for anyone to use it. Society will advance far more quickly and good business owners will be able to bring competition and lower prices to everyone.

<comment><USER15> I think 7 years is a little short on copyright. I think 10-15 years would make more sense.

<comment><USER16> I'm interested to hear more of your thoughts. What are the downsides of a shorter copyright (e.g. 7 years) vs a slightly longer copyright? I was trying to think of some scenarios, but I can't think of anything about that time range that might fit. For example if copyright was only 3 years, you could imagine big publishers sitting on things until they were out of copyright so that they didn't have to pay royalties. Most music, movies and TV shows are relevant for only a few years. By 7 years out, they are relegated to the rerun slot.

The only thing I can think of are things like novels. So the first Harry Potter novel was quite successful, but it took a while until a movie came out. Movie producers may be happy to wait until it came out of copyright. But that argument might be made for 15 years as well. It would be a _different_ way of doing things, but not necessarily worse, I think. Is it reasonable that Disney can buy up the rights to all Marvel comic books for the last X years? Or would we prefer that anyone could make Marvel comic book movies after a short time -- even if that meant that the original authors aren't compensated.

Sometimes I think that even 5 years on software copyright is not a bad length. If you've been updating the software for 5 years, who wants to fork your project from 5 years ago? If you haven't, that's still pretty far out on the revenue tail even for something like enterprise software, let alone games, etc.

<comment><USER17> I might go for 30 years: roughly a generation (of humans).

If you wanted a different rule for software then you'd have to carefully define what is meant by "software" and think carefully about side-effects: would you be discouraging people from releasing source code, for example? Perhaps not worth it.

</comment></comment></comment></comment><comment><USER18> The fundamental problem which seems to be recurring is that the system is generally hostile towards consumer interests.

It's all so broken, it makes me want something dramatic to happen. Maybe the robots will take over soon and be better at governing. Or perhaps yogurt. Or maybe we can start over on Mars.

<comment><USER19> As it no longer promotes progress of science, I have no respect for patents anymore.

<comment><USER20> This was the podcast that took me from opposing software patents, to opposing the very concept of patents altogether: [http://5by5.tv/hypercritical/67](http://5by5.tv/hypercritical/67)

See also: "The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying."

\- John Carmack

<comment><USER11> JC would just have to find a different/better way to solve the problem. Just like someone designing disc brakes or mouse traps.</comment></comment></comment></comment>


Oracle Adds New Android Versions to Copyright Battle with Google - <AUTHOR> http://www.bloomberg.com/news/articles/2015-08-12/oracle-files-new-complaint-against-google-in-android-battle <comment><USER2> Every time I read about this awful case I am reminded how happy I am to have left Java behind. Yes as a developer this makes no difference to me in any practical way but it did put an awkward and uncomfortable cloud over the Java framework for me. Using a language owned by a company who does this kind of thing just didn't feel "right" and I disliked knowing I was [indirectly] supporting Oracle by using Java.

<comment><USER3> The most depressing part, to me, is if you asked anyone who "owned" Java back in the Sun days they would have told you _nobody_. Since it is OSS and aside from Microsoft's J++ lawsuit, Sun was pretty liberal about how people used Java (as they mostly profited from value adds, rather than the core language or libraries).

If Sun were still around, I suspect not only would they not be suing Google, but they would be actively involved in the Android development scene, producing tooling and other assists and offering enterprise support.

Oracle are just evil™

<comment><USER4> _> If Sun were still around, I suspect not only would they not be suing Google, but they would be actively involved in the Android development scene_

That's a big stretch. For one, Sun people weren't particularly happy that Google blatantly sidestepped them; all the time Sun was a going concern, backroom discussions with Google were ongoing and not particularly conciliatory. Sun didn't contribute to Dalvik and would likely never had (why, when they had OpenJDK?). The fact that they never granted use of the TCK is quite revealing in itself.

<comment><USER5> According to this person's recollection, Sun was pretty pissed at Google.

[http://yro.slashdot.org/comments.pl?sid=2348832&cid=36882124](http://yro.slashdot.org/comments.pl?sid=2348832&cid=36882124)

</comment></comment></comment></comment><comment><USER6> Can someone explain why oracle is doing this? This is not good for their brand name, this is not good for Java. A large number of people use Java because of android app development, what is oracle trying to gain out of all this?

<comment><USER7> Almost anyone who cares about this lawsuit is automatically someone whose opinions don't matter to Oracle. Oracle only cares about executives at large orgs with large budgets to spend on Oracle's enterprise software. And those people don't care about Java or Oracle's reputation among people outside their community.

To understand Oracle's motivations it is necessary to review what Bryan Cantrill said about the company:

 _" As you know people, as you learn about things, you realize that these generalizations we have are, virtually to a generalization, false. Well, except for this one, as it turns out. What you think of Oracle, is even truer than you think it is. There has been no entity in human history with less complexity or nuance to it than Oracle. And I gotta say, as someone who has seen that complexity for my entire life, it's very hard to get used to that idea. It's like, 'surely this is more complicated!' but it's like: Wow, this is really simple! This company is very straightforward, in its defense. This company is about one man, his alter-ego, and what he wants to inflict upon humanity — that's it! …Ship mediocrity, inflict misery, lie our asses off, screw our customers, and make a whole shitload of money. Yeah… you talk to Oracle, it's like, 'no, we don't fucking make dreams happen — we make money!' …You need to think of Larry Ellison the way you think of a lawnmower. You don't anthropomorphize your lawnmower, the lawnmower just mows the lawn, you stick your hand in there and it'll chop it off, the end. You don't think 'oh, the lawnmower hates me' — lawnmower doesn't give a shit about you, lawnmower can't hate you. Don't anthropomorphize the lawnmower. Don't fall into that trap about Oracle._" [1]

Nothing that Oracle does makes sense without understanding this.

[1] [https://www.youtube.com/watch?v=-zRN7XLCRhc&t=33m](https://www.youtube.com/watch?v=-zRN7XLCRhc&t=33m)

<comment><USER8> For me this just puts into perspective how much it sucks to have Java as the language powering Android. Would a rewrite in (say) Go even be possible? I guess you could machine translate a lot of boring stuff like support for a gazillion devices, and the memory footprint savings would be quite substantial.

<comment><USER9> Oracle tried their hand with copyright infringement, because copyright is far stronger than anything else that's IP-related. However, here's the thing:

1\. Oracle is basically arguing about APIs being copyrightable and if APIs are deemed to be copyrightable, we're fucked as an industry ;-)

2\. Oracle, because of the Sun acquisition, has many, many interesting patents related to programming languages and virtual machines. Consider that Sun was involved in the research for making Smaltalk VMs fast and they also developed Self. The IP for all the fancy techniques used in Java's HotSpot VM? Well Sun owned it. Do you think Go is safe because it's not based on Java, or because it doesn't have a Java-like VM? Think again, at the very least it has a garbage collector ;-)

Thing is, if Google would have cloned OpenJDK, they would have been safe because of the GPL license. But they didn't, they used Apache Harmony instead, a project that never passed the Java TCK because Sun never allowed it to.

<comment><USER10> > 1\. Oracle is basically arguing about APIs being copyrightable and if APIs > are deemed to be copyrightable, we're fucked as an industry ;-)

In the US, in Europe where we are somewhat more sane on this issue I'd look forward to a boom in software development the like of which we've never seen.

The implications for the US software industry are pretty horrify though, it makes software patents look mild.

<comment><USER11> Why a boom in software development?

<comment><USER4> parent thinks the industry will flee to safer European shores, because the local legal climate is much more liberal than the US when it comes to software (for example, patent trolls are very rare over here).

In practice this is unlikely for a number of reasons, in particular the fact that Europe is way too expensive for the industry that spearheaded third-world "offshoring".

<comment><USER11> It's not just unlikely, it's completely nonsensical from a legal perspective. If Google's Android division were located in Europe, that would make zero difference for their legal fight against Oracle.

The only way to avoid US law is to not trade in the US at all, otherwise someone should have told Samsung and SAP before they paid hundereds of millions to Apple and Oracle respectively.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Could the HNers who have bought Oracle db or its enterprise apps share why they chose Oracle over other options. I have have been working in the s/w development side in the banking sector but I was never part of the purchasing decision for infrastructure. I do suspect that the banks keep on buying Oracle or IBM DB2 because of their (Oracle and IBM) reputation for reliability and the army of Oracle or DB2 DBA already in the banks' employment. I have often recommended Jboss over Weblogic for my applications but that option is not considered viable because of Oracle's reputation and existing support contracts. So, why did you buy Oracle db over say (i)Postgres (ii) MS SQL or Sybase ?

<comment><USER4> I work in the space. Oracle gets picked because is perceived as "safe" by executives, because they have armies of people you can shout at when things go wrong (not that it will solve anything, but executives usually enjoy it).

In addition, their portfolio is so vast that any large business will likely have something else that can be leveraged in any discussion ("don't like our db pricing? Let me cut the renewal price of this other product you bought last year. Or what if I throw in a few licenses of that other product you were already evaluating?"). This also allows one good product to cover for the shortcomings of others ("ok, this project failed horribly, but that other thing last year was hot stuff! You got to give us another chance!").

Of course, they already are on the list of approved vendors, so there is no bureaucracy or exposure for whoever signs the purchase order. CYA rules.

If you want to get really technical, however, most Oracle products will just "tick all boxes". They might not be the best option, the fastest one or the easiest to maintain (and they are never the cheapest), but they're likely the most feature-complete. For example, the db: want multiple active-active instances? can do. Active-passive? can do. Multiple names for same instance? can do. Multiple instances on same box? can do. Cross-platform? can do. Working without DNS? can do. Objects? can do. XML? Can do. Your company has weird storage requirements? No prob. Maintenance tools? More than you will ever use. And so on and so forth. On paper (which is where executives live), it's hard to justify anything else; problems only come up when you actually try to use the beast.

<comment><USER13> This is spot on.

Regarding the last paragraph, I was once in a meeting at a very large company in which an AVP asked me and several other experienced _engineers_ : "Ignore the technical details; is there any reason we shouldn't purchase this large suite of Oracle products?" That was the litmus test, so yes, it's purely a safety play for many.

<comment><USER14> That is hilarious, straight out of an SNL/Onion skit. And these are the folks who run the world.

<comment><USER15> Because it usually doesn't matter. If you are not a Google/Facebook scale op, cobbling together something with SQLite on a battery backed RAM disk is probably properly enough. I'm pretty sure that could run the store part of Amazon with enough madness thrown at it.

So for most companies UX is more important than how messy your backing store is. And yes, delivering good UX requires quick iterations, and that probably means a good operational support for experimenting with various data access patterns, but - again - SQL is enough. Just throw more Hadoop at it, if not. (For specialized data stores. Or just more hardware and even more 12c instances and use that as your key-value store. Doesn't matter. Wrap it and spend more time on UX and features.)

Yes, disrupting them with better technical skills is possible, but don't forget that in the end you have to provide value, and rarely a "contains only F/OSS" sticker is enough.

</comment></comment></comment></comment></comment><comment><USER16> Isn't this case already closed?

<comment><USER17> [https://www.eff.org/cases/oracle-v-google](https://www.eff.org/cases/oracle- v-google)

        On October 6, 2014, Google filed a petition asking the
        U.S. Supreme Court to review the Federal Circuit's
        decision.  On November 7, 2014, EFF filed an amicus brief
        on behalf of many computer scientists that asked the
        Supreme Court to grant Google's petition for review,
        reverse the Federal Circuit, and reinstate Judge Alsup's
        opinion.

        Unfortunately, in June 2015 the Supreme Court denied
        Google's petition. The case will now return to the
        district court for a trial on Google's fair use defense.

Didnt win in court because the judge actually had some clue what was happening?

Dont worry, just keep those appeals flying, you'll get a clueless idiot evetually and your lobby money will win them over.

<comment><USER18> I doubt that Google isn't also using all its lobby money to prevent that.

</comment></comment></comment><comment><USER19> If Android usage of Java is in violation of Oracle's copyright, than why isn't OpenJDK? I don't code much in Java and when I do I use Oracle's version, so I don't know how different it is, but I guess the "API" should be the same, no?

Also, I don't see how is it better for Google to be sued by Oracle than using OpenJDK just because it is GPL-ed. Why? It doesn't make sense!

<comment><USER20> > If Android usage of Java is in violation of Oracle's copyright, than why > isn't OpenJDK?

OpenJDK was released by Sun as GPL.

<comment><USER19> Well, couldn't be simpler than that, thanks for clearing that up for me!

</comment></comment></comment><comment><USER21> This is why MS was wise to create their own "MS Java", named C# (when Sun still existed). I wouldn't want to depend on Oracle for anything.

<comment><USER22> C# exists, in part, because Sun sued over Visual J++.

<comment><USER4> Well, I don't know.

VJ++ had a completely different target market from modern Java / C#: it was the Age of the Desktop, Java was supposed to be the client-side Nirvana of write-once-run-everywhere, and VJ++ was a blatant embrace-and-extinguish play in that sense ("write once, run on Windows only" basically), based on platform-specific UI libs.

C# was developed when the market had changed and Java had become the language of choice for web apps. MS needed a competitor there, and it didn't make sense for their platform lock-in strategies to build anything but MS-specific tech. They couldn't have adopted Java at that point, regardless of lawsuits.

<comment><USER22> Visual J++ was, at the time, the best implementation of Java as a language integrated with an IDE, UI stack, and runtime that ran on a commonly used OS. If it was "embrace and extinguish" it had considerable merit. It would have completely transformed Windows software development, especially for interactive software.

At the time, Forte and Eclipse were a bog-slow nightmare to use with insane hardware requirements relative to even high-end PCs of that time, and Sun's UI stacks still haven't produced any human-usable software, never mind back then.

I don't always think Microsoft should win IP cases, but Sun destroyed a very worthwhile product and they had no comparable product to protect. It was a purely destructive action.

</comment></comment></comment></comment><comment><USER23> What we really need is a revision to the copyright statutes. Is anybody working on that?

</comment><comment><USER24> Java is dying since Oracle bought it. Google made a mistake to build Android upon it.

</comment><comment><USER25> I am going to buy a Nokia Lumia for Windows to replace my Sony Android phone. No more iOS or Android for me. Funny how MS is becoming an old "new" alternative for some of us.

<comment><USER26> How is this related with the submission?

<comment><USER25> I'll admit the comment may have been a bit sparse, and reactionary on my part, but it is not that far of an association; I think it has relevance. Open source Android is being fought over by two behemoths in an IP war over Java code. MS was proprietary, and not much loved amongst the OSS crowd, and now Windows 10 is going to have hooks for Java and Objective-C to make porting Android and iOS apps to Windows 10. Forgive me, but MS seems to be doing and end-around Oracle and Google...I don't see how there is more than 2 degrees of separation from the submission and the possible relevance of my comment. Is it because I refused to bite on the IP angle?</comment></comment></comment>


Show HN: Emoji as a Service (EmojiaaS) - <AUTHOR> https://emojiass.herokuapp.com/ <comment><AUTHOR> This is inspired by (BaaS) [0], where I was looking for an excuse to start learning Go.

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

<comment><USER2> Appears to be down at the moment. Would have been neat to be able to check it out.

<comment><AUTHOR> Sorry about that. It is running on heroku free instance (limited to 18 hours per day). It should be back online in less than an hour.</comment></comment></comment>


HNers: Please give us a new name - <AUTHOR>

Dear HNers,
We're creating an iPhone app "hhhungry", which is a one tap way to find friends to eat with for today's lunch and diner (hhhungry.com).
However, we are thinking to a new name for it and we deiced to ask you to help us rename our product.
WHY We' been thinking a new name, since we pivoted and we've heard a lot of complains about our name "hhhungry" especially from "girls".
However, we've been screwing up renaming it for weeks and weeks. And finally, a devastating fight for a new name among the team made us ask you to inspire us!
REWARD If you give us an inspiring name and you live at San Francisco, New York, or Tokyo,  we'll invite you a sushi dinner.
You don't live at those cities? We'll send you 3 t-shirts:)
VOTE hhhungry.com or
This Thread
DEADLINE March 4th (Sunday)
Thanks HN! <comment><USER2> Can you update your profile with your email address? I have a name suggestion for you. It's short,easy to pronounce( .com is available) and I think it would be good fit for your app. I would be glad to help (you can find email in my profile).

And also, you want to pick the best possible name for your app so I am not sure the voting system is a good choice if you have for example name with 10 and name with 7 votes from random users (that is not enough if you have just votes and don't have any other feedback).

<comment><AUTHOR> hbg, thank you for advice! I know the facebook question isn't best solution, but I couldn't find any better solution...I thought facebook questions has transparency at least. Anyway I'll email you soon after lunch:)

</comment></comment><comment><USER3> Go with names that are not that tricky to remember.

FoodBuddy

EatWithMe!

ShallWeLunch?

LunchYet?

Nom Nom Nom

<comment><AUTHOR> HardyLeug, thank you so much for your great ideas! I added on the facebook vote site. <http://www.facebook.com/questions/356536851036409>

</comment></comment><comment><USER4> LunchDate FoodSimple ChowSimple ChowCrowd MeYouLunch MyWasabi ChowOnTheGo Foodini SushiOnMe iChow BlueMango

<comment><AUTHOR> Thanks AznHisoka! Mywasabi sounds nice! Btw, do you like Hunter x Hunter? I thought it from your name:)

</comment></comment><comment><USER5> At the risk of alienating vegetarians:

Meating with Friends (or just "Meating")

<comment><USER6> Meatup

<comment><AUTHOR> Nice! sjje, I added it on the website:) Meat...Meat..

</comment></comment></comment><comment><USER7> Grubster

Grub@

Grub Buddy

Grub Time

Grub Now

Grubbit

Grub-a-Byte

<comment><AUTHOR> Thank you so much mkelley! I love Grubster. I posted on <http://www.facebook.com/questions/356536851036409>

</comment></comment><comment><USER8> chewithyou

chewitya

wechoo

add: mechew - as in meet you

</comment><comment><USER9> GluttonFree

teameat

Soupreme

Sous Vida

nicpic

<comment><AUTHOR> Give props for teameat! hahaha

</comment></comment><comment><USER10> FrendzEat

Hungry is the problem and eating is the solution. You are solving the problem, so I would go along the lines of eating.

<comment><AUTHOR> I love your logic!Thank you for the name and advice:)

</comment></comment><comment><USER11> Tasty Tuesdays

Hungry Fungry

Plate Pal

Burger Buddy

Disco Diner

Eat with Pete

Munchy Monkey

Hungry Henry

<comment><AUTHOR> I added them on <http://www.facebook.com/questions/356536851036409>!

</comment></comment><comment><USER12> some random ideas:

Eatings

Foodtap

Lunchon

NowChow

Thyme

<comment><USER9> I almost put down NowChow in addition to Ciao, ChowChow, Chowdr, HowChow, WhoChow, WowChow/ChowWow and WhoaChow.

</comment></comment><comment><USER13> "Tablée", which in French means a good bunch of friend sitting together at a table.

<comment><AUTHOR> Merci gbog! I added it on the website.

</comment></comment><comment><USER14> >especially from "girls".

Huh?

<comment><AUTHOR> Some of them think hhhungry sounds too muscular for them...they suggest us to name the product as cute as "Instagram".

</comment></comment><comment><USER15> lunchout lunchapp grubapp

eatand.co

.co is a good tld to explore

<comment><AUTHOR> I added them on <http://www.facebook.com/questions/356536851036409>

</comment></comment><comment><USER16> foodoo

<comment><AUTHOR> Thanks zerop! we added your idea on <http://www.facebook.com/questions/356536851036409></comment></comment>


Crazy Engineering: Mars Helicopter - <AUTHOR> https://www.youtube.com/watch?v=vpBsFzjyRO8

<comment><USER2> Really cool to see this covered, and to see they are working on this.

And wow, what an amazingly short, harshly edited down video for such a potentially complex and interesting topic.

I wish NASA would tailor these things for people who are interested enough to want more detail.</comment>


The Erdos Paradox - <AUTHOR> https://arxiv.org/abs/1812.11935 <comment><USER2> The paper mentions how Erdos accomplished so much while knowing relatively little machinery. This is, I think, a more general paradox of mathematical research, not limited to Erdos: it's a mis-conception that to do important original mathematics you need to be lightyears out there. The reality is, there's so much low-hanging fruit it's almost silly. But if you want to make a career picking low-hanging fruit, you'd better be financially independent, because as the paper also points out, mathematical power brokers don't appreciate low-hanging fruit-pickers!

<comment><USER3> What's some low-hanging fruit in mathematics?

<comment><USER2> Here's one example. In Darwin's "Origin of Species", a key principle which Darwin talks about at great length is the so-called Knight-Darwin Law, the observation that even in apparently asexual species, sexual reproduction still occasionally occurs, if only after long spans of time. In an article in Acta Biotheoretica, I argued this is in fact an infinite graph-theoretical principle. If G is the directed graph of all organisms, where an edge from x to y means that x is a parent of y, then (Darwin theorizes that) there is no infinite directed path through G all of whose vertices have indegree 1. (A vertex has indegree 1 if it has exactly 1 parent.) The low-hanging fruit (some of which I picked in my paper): Investigate the mathematical implications of the above property (esp. if G also has other biologically motivated properties).

The Knight-Darwin law seems to have vanished completely from the literature around the start of the 20th century, until I cited it. Almost as if no-one has actually been reading Darwin in all that time.

To generalize: If you want to find low-hanging fruit, read non-fiction classics like Darwin and constantly be asking, "Is this some unrecognized mathematics in disguise?"

<comment><USER4> I would further generalize; if you want to find low-hanging fruit, know about relevant subjects that aren't presently very popular (such as the Knight- Darwin law) and find relations between disparate fields (such as evolutionary biology and graph theory) where few others are well-versed in both.

<comment><USER5> In this vein of low-hanging fruit, my former anesthesiology chair once remarked that you could build a first-class academic career in the specialty if you knew German and simply went through the 1900-1920 German physiology literature and gleaned significant findings unknown even now in the non- German-speaking world. Alas, my other language was Japanese.

<comment><USER6> Would Google translate be able to help or has German moved significantly in the meantime?

</comment></comment></comment></comment></comment></comment><comment><USER7> A great article. One of the prime examples of the disdain that mainstream mathematicians had for "Hungarian" style mathematics is the fact that Szemeredi did not get the Fields medal (apparently Erdos was very angry at this), despite the fact that a lot of deep mathematics, at least two Fields medals (Gowers and Tao), a Wolf prize (Furstenberg) have later resulted from Szemeredi's work.

After the wider acceptance of combinatorics, Szemeredi was awarded the Abel Prize.

Another area of mathematics generally ignored by mathematicans is mathematical logic. I've often heard an opinion is that it is not really "relevant" to general mathematical practice.

<comment><USER8> There's an age limit on the Fields medal (40), so it's quite common for the importance of someone's work to be recognized too late for them to be eligible. This is somewhat intentional as the medal is meant to be given to mathematicians early enough in their careers to have an impact (c.f. Nobel prizes, which are typically only awarded when someone is famous enough that getting a Nobel prize hardly matters).

<comment><USER7> Sure. But this was not the case with Szemeredi's work. It was recognised as great immediately, and Szemeredi was below 40 at the time. The problem was that his combinatorial approach was not considered to be deep enough to merit the medal.

</comment></comment></comment><comment><USER9> For those of you who wish to read more on Erdos personal life I can recommend the book: The Man Who Loved Only Numbers [0]. Highly entertaining.

[0]: [https://www.goodreads.com/book/show/714583.The_Man_Who_Loved...](https://www.goodreads.com/book/show/714583.The_Man_Who_Loved_Only_Numbers)

<comment><USER10> It's a great book, probably the best (or most delightful) biography I've read of anyone, in any field. It not only gives a picture of the subject as a person (as any biography should I guess), but actually engages with the person's work and gives a flavour of it — what's the point of a biography of an artist or poet that does not show their art or poetry? The "love" in the title of this book is very apt: not only did Erdős love numbers, but this a biography written with love, and the reader will love it too.

</comment></comment><comment><USER11> The article mentions two paradoxes that are worth considering:

> How could a great mathematician not want to study these things? [these > things = Lie groups, Riemannian manifolds, algebraic geometry, algebraic > topology, global analysis, or the deep ocean of mathematics connected with > quantum mechanics and relativity theory] > > This suggests the fundamental > question: How much, or how little, must one know in order to do great > mathematics? > [...] > The second Erdos paradox is that his methods and > results, > considered marginal in the twentieth century, have become > > central in twenty-first century mathematics.

I never had the feeling that his results were 'marginal', but the fact that he never got a full position anywhere got me thinking---maybe Erdos was just interested in these positions (which, given his personality, might be likely), or maybe he did not 'sell' his work well enough. As someone who hates advertising their own work, I can see how tragic this would be.

<comment><USER12> _> maybe Erdos was just interested in these positions_

Did you mean, "Just _not_ interested"?

</comment></comment><comment><USER13> N is a Number and E is for Erdos</comment>


The Devastating Decline of Cloudflare's co-founder - <AUTHOR> https://www.wired.com/story/lee-holloway-devastating-decline-brilliant-young-coder/ <comment><USER2> What an ignorant I was. March last year (2019), I wrote an email to Lee Holloway asking him how he could bootstrap such a great company. Now I know why I haven't received the answer.

EDIT: I found an email:

 _Dear Lee Holloway,

Excuse my curiosity, as an Engineer I am not writing this kind of emails a lot, but I have read the blog series by John Graham-Cumming about the company, and it would really help me if you can answer my question about the constant flow of engineering innovations from your company.

I am a security engineer from Europe and would like to know how is it possible, that security team will start producing such a stream of innovative things like Keyless SSL, CFSSL, SIDH implementation, Red October key management server and many more your company already published?

When the "lift and shift" from the open source or vendor stops and internal building start to happen within an organization? Is it a cultural thing where only a small startup can succeed and scale later? Is it about the budget or is it a cultural shift that is non forcible upon them? Is a prerequisite to the innovation, that almost everything is developed in house? That came to me as a contra productive strategy. I have read Skunk Works and other books, but I am still impressed how that happens regarding to the modern leading IT/infra companies.

Thank you for your time,

..._

</comment><comment><USER3> Sad and real story :-( Very well written article worth the read. I won't spoil it with what happened to Lee.</comment>


JQuery 2.0 Will Drop Support For IE 6, 7, 8 - <AUTHOR> http://developers.slashdot.org/story/12/07/13/1936205/jquery-20-will-drop-support-for-ie-6-7-8

<comment><USER2> It's a bold move on their part to say they'll stop supporting IE8, esp. since it has a fair share of users (and isn't really a _bad_ browser, per se)

<comment><USER3> "IE8 is not a bad browser per se"

its not bad, but because i have to specially support it (unlike every other browser), it sucks. I for one, feel good that jquery is about to drop support. A large library driopping support will tend to create the impedus to cause others to drop support, and eventually kill the browser.</comment></comment>