HN user

everheardofc

56 karma
Posts0
Comments34
View on HN
No posts found.

But why is it adding their patent grant which only protects facebook to non facebook projects like atom? Should every company add their own company patent grant? Why not simply add a general patent grant that protects all users and companies?

Facebook only cares about facebook in the license. We can't say that facebook is doing it for the benefit of the project itself. The more projects that have the license the more protected facebook is while everyone else is left out.

If we were to believe that it is an altruistic endeavor that will result into a "world without patents" then in fact it would be a world without patents... but only for facebook.

I have nothing against patent grants with the condition of not suing for patent infringement but they shouldn't only apply to one specific company. The apache software license and many others have already solved this problem. There is no need for a facebook only solution.

My issue is with people pretending that facebook is doing everything right when they are doing everything wrong.

If by political correctness you mean the basic human rights of the constitution Of course we could add an exception to the constitution that excludes lab grown children. Well, unfortunately gene manipulation is eugenics unless you are willing to support your "defects" until they die of old age plus their offspring but then china is probably going to win again because they are disposing their defective subjects as soon as they notice the defect.

It doesn't take much imagination to think of this scenario. Creating artifical super children that grow up inside a lab and get killed off when convenient is the most common staple in scifi books and movies involving gene editing.

What's more important? Basic human rights for all humans or competitiveness?

"Is there anything I could get paid to do that a machine couldn't do?".

Work for free or even pay for the privilege of working. See some short distance truck drivers working 20 hours a day making losses on some weeks after paying for their truck lease and other costs that were externalised from the employer to the employee. You can't exploit a robot but you can exploit a human.

Unfortunately in my experience I don't know what type of x I'm supposed pass into to. I either have to guess what x is out of a infinite search space or I have to look at the implementation but unfortunately it also calls some other functions so I need to determine the possible inputs for that function and repeat this until I've read 100s of lines of code just to use a single function because someone thought that documentation is uneccessary and 10 seconds of less typing were worth the tradeoff. Static typing is statically enforced documentation. Sure you might be lucky and already have voluntary documentation available but I am not. I'm getting sick of randomly being stuck for 10 hours on some trivial problem caused by wrong incentives.

C++ shows that in theory you can fix any flaw in an existing programming language as long as you maintain backwards compatibility by simply adding more features. The only thing you cannot change are implicit defaults (e.g. pass by value is the default, you have to manually opt out to pointers or references).

I like modern C++ because for me it's a reasonable compromise between java safety and C safety. Other than out of bounds memory accesses and legacy code I feel there is not much that can go wrong. However compiling C++ projects takes ages and in the projects I've worked on I often have to modify headers that are included almost everywhere. Every trivial changes requires a 5 minute rebuild.

After working with several high level programming languages with slow compilers I realised the following: typing is fast, compiling is slow. There is a reason why go is so popular. It offers that tradeoff in fast turn around time / compilation time with reasonably good performance and simplicity in exchange for more keyboard bashing and keyboard bashing is a cheap price to pay for what you're getting back.

Using make, you can standardise a lot of this. If you set up a coding standard that after you clone a repo, "make dep" should grab anything the project requires, then developers don't initially need to know whether that's calling out to npm or composer or pip or whatever - it's just "working".

In my experience you will end up with a dozen coding "standards" and project structures. Especially in C and C++ where header dependencies have to be generated by the compiler even the most basic makefile will take you at least an hour to create if you already have experience in making makefiles.

The main function is 111 lines long but only roughly 30 lines of that are setup up code. The remaining 81 lines are the business logic that happens when a control has been interacted with.

Since when does initialising the GUI framework include all of your business logic and if it does should a non trivial application have a main function that is several thousands of lines long?

Offtopic:

Why is paid busywork or a job guarantee more acceptable than basic income? Apparently the risk of basic income is that people end up only playing video games. But aren't video games the definition of busywork?

It will cause inflation at the bottom of the economc and reduce it at the top. We call the difference between the top and the bottom inequality. Imagine you earn 24k in a very cheap part of the US. You now have 36k. Most of the cost gets absorbed and you need 36k for the same quality of life. However that CEO with 1000k per year also only gets 12k which means he gets 1012k. Before UBI the CEO had 42 times the income. After UBI the CEO has only 28 times the income.

Not this bikeshedding crap again.

Obviously there is an infinite amount of demand for jobs because there is no lower bound income (how much demand is there for an employee that doesn't cost anything?). What's the point of more jobs if you have to work two or more of them to survive? Obviously what matters is the quality of the jobs and not the quantity. A more interesting question would be to ask if robots increase inequality.

Because nobody bothers with "OOP" or "FP" because there is not a single cannonical implementation of these that everyone agrees on.

What you're talking about has nothing to do with neither.

Any language that has generics can have self types or whatever you want to call them. It's a matter of whether the language has a strong static typesystem and most FP-style languages have these and a minority of OOP-style languages has them too.

The reason why I use C++ has nothing to do with a preference for OOP. It's because all the widely used alternatives have terrible performance.

I hate dealing with C++ projects. I hate dealing with memory leaks and segfaults. But that doesn't stop me from creating more of them and working on existing ones.

All of that because the resulting memory footprint and performance are worth it.

Gene editing beyond treating diseases quickly boils down to doing animal experiments on humans. Imagine that the gene editor made a mistake and now the test subject is missing the left ear. How do you deal with these "defects"? Of course! By putting them to sleep like regular lab animals.

Of course there is nothing inherently wrong about doing experiments on humans but the problem is you now need to justify that gene editing is good and eugenics is bad, that the test subjects do not need basic human rights and therefore can be disposed when convenient.

Better tell all those haskell developers to stop stealing the monad pattern from java.

https://github.com/iluwatar/java-design-patterns/tree/master...

And here is a second source if you don't believe me or iluwatar

In functional programming, a monad is a design pattern that defines how functions, actions, inputs, and outputs can be used >together to build generic types,[1] with the following organization: > Define a data type, and how values of that data type are combined. Create functions that use the data type, and compose them together into actions, following the rules defined in the first >step.

https://en.wikipedia.org/wiki/Monad_(functional_programming)

But you don't have to support only S2/S3/S4 if that were the case then it'd be easy. The paper mentioned comparing 350 different devices. Groups can't gather if they are spread out across hundreds of devices. Not to mention that the userbase for user hostile devices isn't that big if there are user friendly alternatives.

I used to make a joke that phones will be the future in datacenters because nobody is designing ARM SoCs for servers and those that do made them perform worse than phones.

The paper completely ignores the lack of ECC, hardware reliability and lack of software support. Especially if you consider that the majority of mobile gpus don't stupport opencl or don't even have drivers available for modern kernels. You will need to support your software for each device type or rewrite your software as an android app. But since developer and sysadmin time is far more valuable you're better of just buying an x86 server.

The whole idea of the phone is to provide unprecedented privacy, security and autonomy by running an entirely FOSS Debian-based GNU/Linux stack (even including CPU & GPU drivers!)

Call me pessimistic but I don't think we will see a FOSS GPU driver anytime soon.

What if neo nazis get rebranded under some other name? They'd still be discriminating against others but hey at least they are no longer neo nazis, right?

Person A is nazi and killed someone during a protest. Person B is also nazi Therefore person B potentially killed someone during a protest. Therefore we should arrest all nazis

How hard is this to understand the following

GROUPS != INDIVIDUALS

You're advocating to punish individuals by what group they belong to instead of what they did.

Sounds familar?

Person A is a jew and lends money and is rich by "stealing" money from the borrowers via interest Person B is also a jew Therefore person b "stole" money Therefore we should arrest all jews

What about anti-nazis that constantly cry out how every nazi is an armed, dangerous criminal that should be killed or arrested wholesale.

My opinion about those?

Just ban them. Arrest their members. Don't be the socially inept libertarian nerd that thinks only in terms of theory without any real-world experience. It's perfectly fine to limit rights and freedoms in the real world. You can do it!

Software patents shouldn't exist, unless the sourcecode that the patent is protecting is released under a permissive license or equivalent. Having both copyright and patent protections at the same time is insane. Patents have a reasonable duration. With copyright the duration is basically infnite for everyone even though only a minority of companies actually care about it.

That's incredibly inefficient. S3 has to be reliable and store the data in a redundant way. Filecoin will have to do the same because losing a host happens all the time.

Also S3 is incredibly expensive if you factor in outgoing traffic costs.

Buying 5TB consumer drives for 130€ and throwing them away after one month of usage makes more economic sense than using S3 for filecoin. Heck if you throw those consumer drives away after 12 months the storage cost will still be cheaper than glacier which you can't even use for filecoin.