If you’re rigging an election, it can be better politically to give yourself 65% of the vote than 97% of the vote.
97% is obviously fake. 65% is easier to make people beleive in.
If you’re rigging an election, it can be better politically to give yourself 65% of the vote than 97% of the vote.
97% is obviously fake. 65% is easier to make people beleive in.
The fathers of 44% of Israel were born in Israel, as of 2015. I doubt they have dual citizenship, just as most Americans don’t have dual citizenship to their grandparents and great grandparents countries of origin.
Also, most Mizrahim and Sephardim these days are living in Israel, similarly to how most Ashkenazim are in the US. Even if an Israeli somehow has e.g. Iraqi, Iranian or Yemeni citizenship, moving back probably isn’t a safe idea. Morocco is probably safer, though.
After the fall of the USSR, there was also a huge wave of Russian emigration to Israel. Given conscription for the war in Ukraine, moving back now might not be the best idea.
There’s a story in the Talmud about Hillel the elder, a rabbi who died in 10 CE:
There was another incident involving one gentile who came before Shammai and said to Shammai: Convert me on condition that you teach me the entire Torah while I am standing on one foot. Shammai pushed him away with the builder’s cubit in his hand. This was a common measuring stick and Shammai was a builder by trade. The same gentile came before Hillel. He converted him and said to him: That which is hateful to you do not do to another; that is the entire Torah, and the rest is its interpretation. Go study.
I mean, it’s kinda like judging America based on Pat Robertson, the Westboro Baptist Church, Steve Bannon, Steve Miller, and Trump.
Yes, we should beleive people like Trump when they say how awful they are. The fact that he was elected and is the presumptive Republican nominee says a lot about the American right, right now. But it definitely doesn’t mean that Americans in general are awful people.
No?
Proportional representation is where parties get a number of seats proportional to the percent of votes they get.
Proportional voting methods are often nation-wide, although there’s also e.g. mixed member proportional and local 3-5 member districts elected via STV like they do in Ireland.
In the context of the coordinated attack by Hamas and others of 7 October, the UN mission team found that there are reasonable grounds to believe that conflict-related sexual violence occurred in multiple locations, including rape and gang rape in at least three locations in southern Israel.
The team also found a pattern of victims - mostly women - found fully or partially naked, bound and shot across multiple locations which “may be indicative of some forms of sexual violence”.
In some locations the mission said it could not verify reported incidents of rape.
Or is the UN an Israeli propaganda machine, now?
And memory bugs are only a subset of bugs that can be exploited in a program. Pretending Rust means no more exploitation is stupid.
This is facile.
According to Microsoft, about 70% of security bugs they see are memory safety issues.
Yes: if you introduce memory safety, there’s still those 30% of security bugs left. But, well, I’d rather worry about 30% of issues than 100%…
Similarly, I use libraries that eliminate SQL injections unless you really go out of your way.
The beginning of the ‘Final Solution’ was in June of 1941, and began with the death squads of the Einsatzgruppen murduring Jews as part of Operation Barbarossa.
The commander of Einsatzkommando 3 submitted a fairly detailed report of his squad’s daily murder count by location. Through November 25th of that year, his squad alone murdered 57,338 Jewish men, 48,592 Jewish women, and 29,461 Jewish children.
Babi Yar happened on September 29th and 30th, 1941 - only about 4 months into the Final Solution. Germans put posters up in Kyiv, saying that any Jews who didn’t show up to be relocated would be shot. They took the crowd of 33k people to a ravine, herded them forwards and machine gunned them all down.
Is the Holocaust really the most apt historical comparison? Yes, the Holocaust is in the past, while this is ongoing. But the early days of the Holocaust were incredibly bloody; the massacres didn’t ramp up slowly once the killings commenced.
Two things can both be bad without being equally bad.
The war has been terrible. But do you really think it’s been as bad as Treblinka or Babi Yar?
Symbols display with friendly string-y names in a number of languages. Clojure, for example, has a symbol type.
And a number of languages display friendly strings for enumy things - Scala, Haskell, and Rust spring to mind.
The problem with strings over enums with a nice debugging display is that the string type is too wide. Strings don’t tell you what values are valid, strings don’t catch typos at compile time, and they’re murder when refactoring.
Clojure symbols are good at differentiation between symbolly things and strings, though they don’t catch typos.
The other problem the article mentions is strings over a proper struct/adt/class hierarchy is that strings don’t really have any structure to them. Concatenating strings is brittle compared to building up an AST then rendering it at the end.
Edit: autocorrect messed a few things up I didn’t catch.
Javascript is generally considered OOP, but classes weren’t widely available till 2017.
Inheritance isn’t fundamental to OOP, and neither are interfaces. You can have a duck- typed OOP language without inheritance, although I don’t know of any off the top of my head.
Honestly, the more fundamental thing about OOP is that it’s a programming style built around objects. Sometimes OO languages are class based, or duck typing based, etc. But you’ll always have your data carrying around it’s behavior at runtime.
keeping state (data) and behavior (functions) that operate on that state, together
Importantly, that’s “together at runtime”, not in terms of code organization. One of the important things about an object is that it has dynamic dispatch. Your object is a pointer both to the data itself and to the implementation that works on that data.
There’s a similar idea that’s a bit different that you see in Haskell, Scala, and Rust - what Haskell calls type classes. Rust gives it a veneer of OO syntax, but the semantics themselves are interestingly different.
In particular, the key of type classes is keeping data and behavior separate. The language itself is responsible for automagically passing in the behavior.
So in Scala, you could do something like
def sum[A](values: List[A])(implicit numDict: Num[A]) = values.fold(numDict.+)(numDict.zero)
Or
def sum[A: Num](values: List[A]) = values.fold(_ + _)(zero)
Given a Num typeclass that encapsulates numeric operations. There’s a few important differences:
All of the items of that list have to be the same type of number - they’re all Ints or all Doubles or something
It’s a list of primitive numbers and the implementation is kept separate - no need for boxing and unboxing.
Even if that list is empty, you still have access to the implementation, so you can return a type-appropriate zero value
Generic types can conditionally implement a typeclass. For example, you can make an Eq instance for List[A] if A has an Eq instance. So you can compare List[Int] for equality, but not List[Int => Int].
One poll this year found that almost one in three Americans say they may never retire. The majority of the nevers said they could not afford to give up a full-time job, especially when inflation was eating into an already measly Social Security cheque. But suppose you are one of the lucky ones who can choose to step aside. Should you do it? …
But can anything truly replace the framework and buzz of being part of the action? You can have a packed diary devoid of deadlines, meetings and spreadsheets and flourish as a consumer of theatre matinees, art exhibitions and badminton lessons. Hobbies are all well and good for many. But for the extremely driven, they can feel pointless and even slightly embarrassing.
That is because there is depth in being useful. And excitement, even in significantly lower doses than are typical earlier in a career, can act as an anti-ageing serum. Whenever Mr Armani is told to retire and enjoy the fruits of his labour, he replies “absolutely not”. Instead he is clearly energised by being involved in the running of the business day to day, signing off on every design, document and figure.
Who exactly is this article being written for?
Clearly, it’s not written towards anyone working the average job. It presupposes that your job must be the most fulfilling and useful thing you could do.
It even calls out tech professionals as retiring early. But how many programmers can’t think of a more useful or fulfilling open source project to work on than what they do at their day job?
The US and Jordan have been allies for decades, and the US has military bases in allies around the world.
This particular base is located near Syria, so it might be because of the Syrian civil war.
Also, fun fact - the king of Jordan appeared as an extra on American TV. Specifically, on Star Trek Voyager.
Yeah, projects also exist in the real world and practical considerations matter.
The legacy C/C++ code base might slowly and strategically have components refactored into rust, or you might leave it.
The C/C++ team might be interested in trying Rust, but have to code urgent projects in C/C++.
In the same way that if you have a perfectly good felling axe and someone just invented the chain saw, you’re better off felling that tree with your axe than going into town, buying a chainsaw and figuring out how to use it. The axe isn’t really the right tool for the job anymore, but it still works.
C is not how a computer truly works.
If you want to know how computers work, learn assembly and circuit design. You can learn C without ever thinking about registers, register allocation, the program counter, etc.
Although you can learn assembly without ever learning about e.g. branch prediction. There’s tons of levels of abstraction in computers, and many of the lower level ones try to pretend you’ve still got a computer from the 80s even though CPUs are a lot more complex than they used to be.
As an aside, I’ve anecdotally heard of some schools teaching Rust instead of C as a systems language in courses. Rust has a different model than C, but will still teach you about static memory vs the stack vs the heap, pointers, etc.
Honestly, if I had to write some systems software, I’d be way more confident in any Rust code I wrote than C/C++ code. Nasal demons scare me.
Right tool for the job, sure, but that evolves over time.
Like, years back carpenters didn’t have access to table saws that didn’t have safety features that prevent you from cutting off your fingers by stopping the blade as soon as it touches them. Now we do. Are old table saws still the “right tool for the job”, or are they just a dangerous version of a modern tool that results in needless accidents?
Is C still the right tool for the job in places where Rust is a good option?
Apparently my brain silently inserted “ing with” into the middle of “program functions” a half dozen times without me noticing.
It’s really not just that Rust is new and C is old. Compare Rust with Go, for example. Go is a fairly modern example of a ‘worse is better’ language.
Back in 1970s when C was invented, Lisp had been around for over a decade. C came out the same year as smalltalk, a year before ML, and 3 years before Scheme.
Rust is a very modern language, yes. There’s no way we could have had it in the 70s; many of its language features hadn’t been invented yet. But it very much depends on MIT style research languages for its basis.
Schulze is great, but good luck explaining how it works to my mother.
Schulze is good for elections at STEM organizations. For the general public, something like approval voting or STAR are better.