Hacker Newsnew | past | comments | ask | show | jobs | submit | bluGill's commentslogin

Just register the copyright on things that you expect Meta to use. Registering a copyright is cheap and gives you the right to sue for triple damages for any infringement after the copyright is registered. You must have a registered copyright to sue, if you register the copyright after the infringement you can only sue for actual damages.

Consult a real lawyer if this matters to you. The above is my understanding of the law, but I'm not a lawyer and different countries have slightly different laws.


They will.

However some court will eventually tell them no. Big tech has gotten away with a lot, and courts try to be hands off. However eventually the power rests with the government not big tech and so when the courts decide to act they can strike much harder than big tech.


Most publishers have resources - it is millions, but it looks like a cut an dried case that they are highly likely to win. A 2 $million investment that results in $10 million dollar is a good investment. The numbers seem reasonable, though of course publishers need to consider their real situation.

I have seen far too many times when the comment in the implementaiton doesn't match reality to accept pre/post conditions in a comment. I want my contracts someplace where they get evaluated from time to time so that they are fixed when they are wrong.

It compilers on the current gcc version (or at least the one you tested). Future gcc can make it an error.

That's like compiling with -Wall. Stuff will keep breaking randomly, so people will just disable it.

Some people. Most projects I know of build -Wall and fix all the errors. Developers all run - Error. 30 years ago this was madness but compilers are good about fixing false positives and so it is reasonable.

It isn't reasonable to expect downstream (i.e. Debian) to fix warnings but developers generally do for code they maintain.


For my own code I generally -Wall -Werror and if that breaks a prospective dependency in a nontrivial manner I find a replacement. I'll also tend to go looking for a replacement if a prospective dependency breaks when compiled with either asan or ubsan. Why would I voluntarily subject myself to such shoddy code?

I perform my own builds with -Wall -Werror. But it is a kindness to users of your code to provide a build flag that excludes -Werror. This allows user who are building with a GCC compiler version later than mine to sill build the code without having to modify the build scripts.

Yes, though that wouldn't be consistent w/ the standard

The standard doesn't require compilers find all such cases. The standard allows it, but doesn't require it. There are many known cases where the compiler cannot find a case (at least not in a reasonable amount of time)

The consequence of not being required in the standard is that compilers may not implement it and if they do, they will likely have different implementations/functionality

The consequence of being required is the standard is limited to exactly what we are sure everybody can do today. If there are advances in proving C++ code the new advances cannot be used to tell you about more bugs.

It isn't all Israel. North Korea, Russia, and Iran have long been known to be where most cyber crime comes from. Israel is there, but they are an also-ran compared to the others. (but Israel does tend to have more sophisticated attacks). The US also has done a large share, but mostly that is government attacks on other governments (that we know of).

Israel has a lot of enemies that going against them. Which is why they have incentive to be good at this - to attack back. Corporate attempts are just ways to make money.

I'm going to stay out of the political issue of what any actor should do.


But North Korea, Russia, and Iran isn't supported on our tax dollars. In this case we're literally paying another country to infiltrate ourselves.

This is true, but as far as I know, the other countries (except the US, which however is far larger than Israel) keep their cyberwarfare operations mostly internal. There's no public Russian company accessible to any Russian that does what the example companies above do, for instance. It's all government-led. So is the existence of these companies some outcome of the legal or financial system in that country?

> I'm going to stay out of the political issue of what any actor should do.

Thankfully, in many such cases, we can call the skyman to rescue:

  What is hateful to you, do not do to your neighbor. That is the whole Torah; the rest is the explanation of this—go and study it!
https://www.chabad.org/library/article_cdo/aid/689306/jewish...

>Israel has a lot of enemies that going against them.

Why do you think that is?

lol downvotes


antisemitism

Israel is not a religion.

True, but it's the only Jewish state.

No religions are states, that is just your political opinion. I think it's a really toxic opinion because it then leads to the question of the potential allegiance to a foreign nation of anyone based on their religion. This is the same reason why a Catholic president was once controversial, because back then people believed there was a Catholic state secretly controlling them.

In my political opinion Israel is an artificially created state which is why it's so unstable and we should simply walk away and cut our losses on this. I believe my opinion is the prevailing populist opinion too so y'all have to contend with that.

There needs to be some compromise between our points of view or else we'll continue to get more war and violence. I think our country needs to recognize our responsibility for this mess and should offer land in North America of equivalent value for any Zionist refugees and then leave the poor people of that land alone. I ultra extremists would feel right at home in the Catskills lol.


Speaking as an escaped Christian fundamentalist -- religious faith and religious nationalism are actually two different things.

Maybe they should work on seperating that like all modern democracies have.

>antisemitism

Certainly some is antisemitism. To imply, as you have, that there is 0% legitimacy to any other reasons to hate the behavior of the current Israeli government is just as pro-genocide as you claim antisemitism.

Most people I know who oppose Israel's actions in Gaza have no problem with Jewish people; many themselves are Jewish.


[flagged]


Gas prices are solely Israel's fault? You couldn't have said "I am a propagandist" any more clearly, even if you had tried.

>Gas prices are solely Israel's fault? You couldn't have said "I am a propagandist" any more clearly, even if you had tried.

I agree it's a bit of a stretch, but only a bit. Had Israel not gotten the USA on board with the attacks on Iran, I do not think gas prices would be much above their standard seasonally- and inflation-adjusted level, unlike where they have been since the "war" started.


Was Israel essential for Trump being willing to attack Iran, or would he have been willing to go it alone? Even if Israel was essential, it took two to tango. Israel for sure wasn't going to do this without the US. If Trump had said no (as the previous N US presidents had), then we wouldn't be here. If Trump had listened to analyses saying that Iran would disrupt Hormoz (as there were plenty of analyses that said), then we wouldn't be here.

So I consider the "solely" to be more than just "a bit" of a stretch. There's blame enough to go around, but a massive chunk of the blame rests on the White House.


>Was Israel essential for Trump being willing to attack Iran, or would he have been willing to go it alone?

Yes to the first question, and no to the second.


>Was Israel essential for Trump being willing to attack Iran

Yes, full stop. Israel attacked Iran before USA attacked Iran.


You'd have a point in so far that the US president shouldn't be led by the nose by anyone. But here we are.

It's America's fault.. for electing a zionist traitor of a president who takes orders from Israel.

It's complicated when all election options are beholden to Zionist interests. I think many Americans are in denial about how dire the situation is. If you voted for Trump, you are responsible for what he is doing because it was clear he was compromised but! if you voted Biden you would also be responsible because it was clear he was compromised.

This isn't conjecture, both of these presidents have been openly operating for Israel. Biden even went on live tv and lied about seeing 40 beheaded babies.

You basically have Tomas Massie and Rashida Tlaib as the only mainstream politicians that are actually standing up to the Zionist takeover of our government. It's hard to say what the way out of this mess looks like, but voting for a Zionist in Zionist controlled elections is not it.


Rashida Tlaib is mainstream? I do not think that word means what you think it means.

She's literally a sitting US representative for Michigan.

So is Jim Jordan, the ultra-MAGA ideologue from Ohio. (He may not even be the most extreme, he's just the one that first came to mind.) If being a representative automatically makes you mainstream, they both are. And at that point, "mainstream" is more like "main river" or "main ocean" - it's so broad that it's meaningless.

Tlaib is one of the four most-extreme-left members of the House. I claim that that makes her not mainstream, for any reasonable definition. She sure is not in the mainstream of the House!


She's mainstream, just because you don't agree with her doesn't mean she's not. Trump is also mainstream, I don't agree with him but he is. We're not talking about podcasters or people xeroxing newsletters, these are elected officials.

>North Korea, Russia, and Iran

...are also widely considered bad actors. Yet, it isn't "islamophobia" when you criticize Iran or "anti-Orthodox" when you call Russia to account.

Curiously, however, when you similarly criticize the actions of this specific Israeli government and its leaders, you are slandered with the term "antisemite" and there are orgs that exist to doxx you and get you fired from your job.

Isn't that weird?


I'm expecting to see talks (and buy books, read blogs...) in 3 years by someone who spent a lot of work adding contracts to a small but significant code base. This is the type of question they will answer.

I think the right answer is in the header, and in turn that means someone needs to answer your objection - how do you avoid long compiler times? I suspect modules is a large part of the answer, which means the guide/talk will also be how to make modules work in the real world. Remember though, that is all guesses I wouldn't be surprised if I'm wrong.


C++ contracts design is based on an internal Bloomberg framework, see John Lakos recent talks on contracts.

Hmm, I thought I had watched all his talks on contracts by now, but I must have missed a few (which isn't a surprise - there are a lot of conferences out there that I can't watch them all and get anything done. I end up ignoring a lot of them)

This was the latest where I saw him mentioning it.

"Our Journey Toward a Fully Backward-Compatible, UB-Safe, ISO C++"

https://youtu.be/whFzmXXhG5g?is=jSOnYkqr5nNULGkY


I hadn't seen that talk, but the content is just an updated rehash of this is what contracts can do.

What I want I'd : we have used contracts in the tall world. This is what works and doesn't. This catches a lot of bugs for little work. This looks the same but results in false positives. This is a lot of work for few bugs.

Of course since I don't know what works I'm guessing, but that type of thing.


Ideally we would have Eiffel or Ada/SPARK kind of approach, or even something like Frama-C.

However given all the technical issues with C++ semantics, and the whole politics regarding contracts since the C++20 removal, I am not sure we will ever get there.

It will be the same as with modules or concepts, the main people behind the proposals eventually move on, and there is no one left to pick the up the pieces for the follow up papers, and related implementation.


Graceful handling is a trade off. Sometimes the check is expensive, if everybody normally does it right you don't want to check (particularly in a tight loop), but you don't want to lose this. I work in embedded, in production our CPUs are not powerful enough to risk all those runtime checks, but I want to turn them on when I work on my workstation - in hopes that if there is a problem we catch it.

Contacts are also a guaranteed syntax. Runtime checks provide no way for tools to know if the condition is expected to never happen - this is a bug; vs this is a normal user error we need to check for. A contract means theorem provers can find code paths where a bug could happen - of course we don't have theorem provers for C++, but this is seen as a requirement to get them.


I'm looking forward to seeing where these go in the future. Can solvers prove my code correct (at least in some trivial cases)? What should happen in a unit test (sometimes I want to test that my program handles out of range values, sometimes it is expensive top check and so I put the contract in to avoid the check at runtime...) Can/should the optimizer account for contracts (same question as unit tests).

See the papers "Soft Contract Verification" and "Soft Contract Verification for Higher-Order Stateful Programs" (Nguyễn et al.) In general, there's a lot of academic work on the topic coming from the Racket community.

In short: yes, some classes of contracts can be statically proven. Not all of them, and it depends on the language's semantics, so it's probably not easy to retrofit into C++. But there's work being done on unifying types and contracts, moving back and forth between static proof and dynamic enforcement, and it's all pretty interesting. Proving contracts statically eliminates runtime overhead; generating contracts from types makes it possible for a gradually typed language to be sound.


"Verified Design-By-Contract" has been implemented for C/C++ (annotated subset) by David Crocker in his Escher C/C++ Verifier - https://www.eschertech.com/products/ecv.php and https://www.eschertech.com/products/verified_dbc.php

More links in my previous comment chain here - https://news.ycombinator.com/item?id=48544022

The basic idea is that you generate "Verification Conditions"(VCs) by mapping the function onto a Hoare Triple viz. {Pre} Function-Body {Post} and then applying Dijkstra's WP-Calculus mechanically to step backward from the Post to the Pre thus generating a mathematical formula.

The programmer provided contracts are merged into this formula to generate the complete VC which is a logical implication viz; Pre ==> WP(contracts-from-function-body, Post).

This is then handed off to a automated solver which verifies that Post is met when Pre is True in all the paths.

See also, Combining Tests and Proofs with Contracts for Better Software Verification - https://news.ycombinator.com/item?id=50108206


I haven't seen those papers. The general thought seems to be that progress is good enough that a restricted subset of C++ can be proved (which is getting less restricted all the time, though probably never will be everything) and the solvers will be able to detect where they give up: if you want a solver you will have to write the code they can prove and that is an acceptable limitation.

Contracts also allow a solver to say "I can't prove this messy function, but I can at least prove everything around it". Which is to say if we prove the precondition is met, and if we assume the post conditions are met, we can prove everything else despite the messy parts we can't do. This at least lets us know where the messy code is.



That is going to depend on location. Most public land is way way out. There are often only a handful of visitors per month, and most of them won't get close to your land. Most of them are locals who know where the bounds are (and probably know you)

That matches my experience next to state game lands in PA. There's a few hunters in season who know where the lines, especially with OnX, Mostly quiet the rest of the year.

Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: