This is her statement essentially saying Israel bombed a hospital that we now know as close to a fact as we can, that they did not and that in fact it was a palestinian rocket that fell on the hospital.
But lets say we can't know that for a fact.
She was still parroting Hamas's line without any ability to validate the statement.
This statement amongst many demonstrates that UN "Experts" have zero credibility in the statements they make.
yes, it's bad to bomb hospitals, but before you go all gotcha, war is bad in general, that doesn't mean war is always wrong or evil and what occurs in war is always evil or wrong. If the enemy is using a hospital as cover to fire at you, it's bad that one has to perform attacks that put it at risk, but its not evil.
We know for as close to a fact that we can get that gazan hospitals were used as cover. (bbc, nytimes et al reported from under hospitals in places that Hamas used for shelter and stored weapons and equipment)
But what is especially evil, is accusing people wrongly when you knowingly accuse them when you know you have no ability to validate your accusation. Which is clearly the case with the accusations launched against Israel in regards to the Al-Ahli Arab Hospital explosion.
But to many people it doesn't matter, to paraphrase the word they made about on the Colbert Report, it's all about "truthiness", one doesn't really care if this thing is true or not, the fact that it feels true and fits with one's general perception of what's true or not and good or not, is all that matters.
I even might go a step further, those who accuse someone knowingly that they don't know the truth, bare moral culpability for bad thing the person they accuse does is the future.
It's human nature for someone accused of bad things falsely to simply not care in the future. "I tried my best to do right, but they falsely accused me, I am simply not going to put as much effort into doing right in the future, as it doesn't matter".
Personally, I disagree with that sentiment, and is very much part of my internal criticism at somethings that have occurred, but I also think its a very human reaction and therefore while it doesn't excuse those who do wrong because they simply don't care anymore and doesn't reduce their blame, it also places moral culpability on those who made the knowingly false accusations. Much like if I would falsely tell someone that "So and So killed your kid" knowing that it would make them go crazy and take revenge.
Life is complicated, and human reactions to the complications of life are complicated. But when an outsider inserts themselves into a complicated situation and presents lies about it in the name of "doing good", they might very much be evil.
Or to put it a bit differently, if one believes that that Bush Administration members were evil for spreading lies that led to the Iraq Invasion, why is Francesa Albanese and her cohort fundamentally different. Why are their lies better and more justified?
this is fundamentally false. The LGPL was created because of static linking where GPLd code would be in the distributed binary.
It's an open question (the FSF has their opinion, but it has never been adjudicated) if the GPL impacts dynamic linking.
One could argue that if one ships GPL dynamic libraries together with one's non GPLd code, one is shipping an aggregate and hence the GPL infects the whole, but its more complicated to say if one ships a non GPLd binary that runs on Debian, Redhat et al and uses GPLd libraries that they ship.
that's not really true. In 2001 I built a single disk linux installation (with a handful of popular nics supported) with X (tiny X with vesafb support) and rdesktop + vnc as a thin client on floppy.
I'd be honest and say that qnx demo disk had more usability overall than my disk, but one could easily have a usable text only linux bootable disk. Busybox and uclibc already existed back then.
You’re missing my point. QNX live floppy came out in 1997. My experience with Slackware 3.x at the time was exactly like how I said it was. You needed two floppies just to boot up the kernel (they were called boot disk and root disk), so Linux setup could start.
I wasn’t claiming Linux couldn’t achieve this, merely stating why QNX was mind blowing: because it was way ahead of what was available, not what was possible.
yes, I was using Linux back then too :). Linux could do it in 1997 as well. I seem to recall (but we are talking 30 years ago so memory might be faulty) of Debian having a 1 disk install for its first release of 1.1 (and pre-releases of 0.x) if one was installing it over a network. by definition then this 1 disk was a fully working linux system on a single floppy.
my conceptual floppy was less to demonstrate it fitting on a floppy (that was just the carrot), the idea was to show how one could dynamically "rewrite" shared libs to only include the symbols one needed to run the apps and have them work.
argument being, static linking a single binary is smaller than dynamically linking it and including the shared library, but as one adds binaries, the duplicated code will eliminate that size advantage. But shared libraries (especially something like glibc) are large and apps dont always use vast sections of them), so what if one could iterate over all the dynamically linked apps one wanted to include and only include the sections of the shared libs that were needed.
So the project was demonstrating that. In practice, uclibc was smaller than the sliced up glibc (and at least for this project, worked just fine)
could be more complicated than this. the easiest thing (to me) would be to midufy the License() function so that it sets the Limits "correctly", as these type of things can be in multiple places.
glancing through the code, it doesn't seem like it be that hard to remove limitations such as this. PostHistoryLimit/postHistoryLimit interpreted from License Limits. a little poke here and there and I'd guess the limitations would disappear.
the first thing I always did when I got a visa (or like) gift card (be it rebate, class action payment et al), was put it into amazon, as it was effectively cashing it out with close to zero friction.
The company raised $132 million, offering shares at $30/share, but the shares opened for trading at $299/share, before closing at $239.25/share, or 698% above the IPO price, breaking a record for the largest first day gain.[7][8][9][10][11][12][13][14] Larry Augustin, the 38-year old founder and chief executive officer of the company, became a billionaire on paper and a 26-year old web developer at the company said she was worth $10 million on paper.[2] By August 2000, the shares were trading at $40 each[2] and only 24 mutual funds held the stock.[15] On December 8, 2000, one year later, after the bursting of the dot com bubble, shares traded at $8.49/share.[16]
per his essay he was given 150K shares. Even at the IPO price of $30 a share, that's 4.5 million. Do we not think the investment bank handling his shares would have been willing to take his whole stake at $30 a share?
But even if they wouldn't more than 6 months later it was still north of $40 a share (so $6mil or so) and even a year or so after the IPO, after the bubble popped, it was still north of $8 a share (so $1+mil).
I could be wrong! It seems to me like the terms of his options and his trade restrictions (he was a director of the company, he couldn't sell his shares willy-nilly) are important here, but I don't know the specifics.
He has, ahem, never exuded a "man of leisure" vibe. More power to him if he's actually loaded, I guess.
I'm not arguing that he's loaded, just that if he didn't make millions off VA, its more due to his own decisions than anything else. I could also be wrong, but it seems he had the opportunity to unload his stake if he really wanted to.
yes, you now have to deal in pointers, but that's not too ugly, and everything is stored in secretStash so can iterate over all the types it supports and thrash them to make them unusable, even without the gc running.
I'm now wondering with a bit of unsafe, reflection and generics magic one could make it work with any struct as well (use reflection to instantiate a generic type and use unsafe to just overwrite the bytes)
Well yes, when you start customizing Gentoo it tends to make hardware changes more difficult. e.g. march=native makes CPU changes difficult, but it's still very common on Gentoo
I don't see how this is coming at go "from below".
even in C, the concept of returning a pointer to a stack allocated variable is explicitly considered undefined behavior (not illegal, explicitly undefined by the standard, and yes that means unsafe to use). It be one thing if the the standard disallowed it.
but that's only because the memory location pointed to by the pointer will be unknown (even perhaps immediately). the returning of the variable's value itself worked fine. In fact, one can return a stack allocated struct just fine.
TLDR: I don't see what the difference between returning a stack allocated struct in C and a stack allocated slice in Go is to a C programmer. (my guess is that the C programmer thinks that a stack allocated slice in Go is a pointer to a slice, when it isn't, it's a "struct" that wraps a pointer)
The confusion begins the moment you think Go variables get allocated on the stack, in the C sense. They don't, semantically. Stack allocation is an optimization that the Go compiler can sometimes do for you, with no semantics associated with it.
The following Go code also works perfectly well, where it would obviously be UB in C:
func foo() *int {
i := 7
return &i
}
func main() {
x := foo()
fmt.Printf("The int was: %d", *x) //guaranteed to print 7
}
A copy of what? It’s returning a pointer, so i has to be on the heap[0].
gc could create i on the stack then copy it to the heap, but if you plug that code into godbolt you can see that it is not that dumb, it creates a heap allocation then writes the literal directly into that.
[0] unless Foo is inlined and the result does not escape the caller’s frame, then that can be done away with.
ok, I'd agree with you in that example a go programmer would expect it to work fine, but a C programmer would not, but that's not the example the writer gave. I stand by my statement that the example the writer gave, C programmer would expect to work just fine.
I think the writer had multiple relatively weird confusions, to be fair. It's most likely that "a little knowledge is a dangerous thing". They obviously knew something about escape analysis and Go's ability to put variables on the stack, and they likely knew as well that Go slices are essentially (fat) pointers to arrays.
As the author shows in their explanations, they thought that the backing array for the slice gets allocated on the stack, but then the slice (which contains/represents a pointer to the stack-allocated array) gets returned. This is a somewhat weird set of assumptions to make (especially give that the actual array is allocated in a different function that we don't get to see, ReadFromFile, but apparently this is how the author thought through the code.
This is her statement essentially saying Israel bombed a hospital that we now know as close to a fact as we can, that they did not and that in fact it was a palestinian rocket that fell on the hospital.
But lets say we can't know that for a fact.
She was still parroting Hamas's line without any ability to validate the statement.
This statement amongst many demonstrates that UN "Experts" have zero credibility in the statements they make.
reply