Categories
academics

Scientific credibility and IEEE

Hundreds of Paper-Mill Papers Peddled in Ads Were Later Published

A study by social scientist Anna Abalkina of Germany’s Free University of Berlin and colleagues found that nearly half of 4,407 IEEE conference paper titles advertised by suspected paper mills between 2021 and 2025 were later published. The ads openly sold authorship positions for as little as $64, with more than 2,000 advertised papers eventually appearing in conference proceedings. IEEE has retracted 66 identified papers and is considering expanded screening software and stronger oversight of conference contractors. — Science; Jeffrey Brainard (August 12, 2026)

Categories
academics vy papers

Process algebra and automata theory

Milner’s Communication and Concurrency contrasts a notion of “bisimulation” with what he characterizes as the view in standard automata theory. Standard automata theory, however, has a much more interesting and well defined notion of both equivalence and concurrency than what is presented in the process algebra literature. In fact, the absence of any reference to automata products, covering, machine homomorphism, minimization, conversion of NFAs to DFAs, and to Mealy and Moore machines is striking.

Current: FORMAL METHODS , STANDARD AUTOMATA THEORY AND PROCESS ALGEBRA (march 17 2026)

Previous version:  Process Algebra and Standard Automata Theory.  (Jan 14 2026)

Skip to PDF content
Categories
academics

Comrades Cheyne and Stokes and mathematics

There is a great book of stories by Soviet era radio astronomer Iosef Shklovsky called 5 Billion Vodka Bottles to the Moon which has a this story (which I tell from memory, no guarantees)

In 1953 a young Jewish math student found himself in jail. This was during the “Doctors Plot” purge where it was announced that Soros  the Jewish doctors attending Stalin had plotted to send him off to his reward. So the usual suspects were rounded up including the student in question. He was listening to the radio with a cellmate, a Lithuanian doctor, and they heard the news that Comrade Stalin’s illness had worsened and he was, in fact, exhibiting Cheyne/Stokes breathing. “Who are these Comrades Cheyne and Stokes? ” asks the math student. “They are very serious comrades”, replies the doctor, “Let’s have a drink to celebrate”. Shortly thereafter, the Friend of All Poets, as Stalin called himself sometimes, was buried and the Doctors Plot roundup ended and many people were freed from jail. The student went on to get a Ph.D. in mathematics which he dedicated to “Doctors Cheyne and Stokes, without their assistance, this dissertation could never have been completed.”

Categories
academics theory

Judea Pearl’s mysterious claim

Pearl: Of course, but you cannot see this noble aspiration in scientific equations. The language of algebra is symmetric: If x tells us about y, then y tells us about x. I’m talking about deterministic relationships. There’s no way to write in mathematics a simple fact—for example, that the upcoming storm causes the barometer to go down, and not the other way around.

Mathematics has not developed the asymmetric language required to capture our understanding that if x causes y that does not mean that y causes x. It sounds like a terrible thing to say against science, I know. If I were to say it to my mother, she’d slap me.

(from the Atlantic)

What is he talking about?  Isn’t that exactly what state machines do?

alt text

Categories
academics

victor.yodaiken@gmail.com

See also: Damore’s Defenders. 

Scott Aaronson is a distinguished professor of computer science at the University of Texas. I ran into his blog a while back, when someone sent me to his muddled defense of Damore and the Google Memo – a defense  in which he essentially called Damore critics hysterical and anti-science. For example:

And therefore I say: if James Damore deserves to be fired from Google, for treating evolutionary psychology as potentially relevant to social issues, then Steven Pinker deserves to be fired from Harvard for the same offense.

Really! This week, I see Professor Aaronson is defending Robin Hanson for asking why liberal do-gooders don’t offer the same sympathy to “incels” that they offer to the poor and why those liberals don’t call for redistribution of sex.  Look I’m not making this up. Hanson, a Professor of Economics at George Mason University wrote an essay that is skin crawlingly creepy. Read it yourself. But my issue here is not with Hanson or Damore, it’s with Aaronson and his claim to be a nice, liberal, enlightened fellow, in favor of women’s rights and gender equality, but compelled by intellectual rigor and, you know, science and stuff, to defend these creeps, who he takes as iconoclastic truth tellers. Here’s Aaronson explaining how he first fell in love with Hanson’s take on the world despite an initial distaste for it:

Alas, back in 2003, I hadn’t yet been exposed to the epistemological revolution wrought by the 280-character smackdown, so I got the idea into my head that I actually needed to prove my objection was as devastating as I thought. 

Before we go any further, let me give you some of the evolutionary biology from Mr. Damore. Damore claims to be in favor of diversity, but says even the most limited mentoring program to increase the representation of women programmers at Google is discrimination against white men and morally unacceptable. He says:

In addition to the Left’s affinity for those it sees as weak, humans are generally biased towards protecting females. As mentioned before, this likely evolved because males are biologically disposable and because women are generally more cooperative and agreeable than men.

and

Unfortunately, the overwhelming majority of humanities and social sciences lean left (about 95%), which creates enormous confirmation bias, changes what’s being studied, and maintains myths like social constructionism and the gender wage gap. Google’s left leaning makes us blind to this bias and uncritical of its results, which we’re using to justify highly politicized programs.

Wow, myths like the gender wage gap, because, according to Damore:

Yes, in a national aggregate, women have lower salaries than men for a variety of reasons. For the same work though, women get paid just as much as men. Considering women spend more money than men and that salary represents how much the employee sacrifices (e.g. more hours, stress, and danger), we really need to rethink our stereotypes around power.

and he explains feminism as a marxist ploy:

As it became clear that the working class of the liberal democracies wasn’t going to overthrow their “capitalist oppressors,” the Marxist intellectuals transitioned from class warfare to gender and race politics. The core oppressor-oppressed dynamics remained, but now the oppressor is the “white, straight, cis-gendered patriarchy.”

This is what Professor Aaronson describes as: “treating evolutionary psychology as potentially relevant to social issues“. You might think, this is not evolutionary biology, it’s standard men’s rights misogyny, but Damore is way ahead of you

when a man complains about a gender issue issue affecting men, he’s labelled as a misogynist and a whiner

Well, imagine that! According to Aaronson, Damore was was advancing “the hypothesis of an evolutionary reason for average differences in cognitive styles between men and women” and the negative reaction against him is an example of more of that social media shallow emotion: “Let that be the measure of just how terrifyingly efficient the social-media outrage machine has become at twisting its victims’ words to fit a clickbait narrative—a phenomenon with which I happen to be personally acquainted.”

Here’s more Damore:

The historically higher variance of outcome can also be seen in our genetics; we have twice as many female ancestors as male ancestors. As a corollary, if Googlers are only from the top of the curve, then this may cause us to have more men than other, less selective, tech companies.

Aaronson is strikingly consistent about never quoting or naming any of the terrible people who participate in “clickbait narratives”. Never.  He barely even quotes Damore. The basis of his argument is essentially nothing more than a presentation of himself as an Olympian truth seeker, batting away anonymous social media critics. But, as shown above, Damore is a right wing polemicist, not an evolutionary biologist. Hanson, who has resurfaced in the  longtermism cadres  is even worse. Aaronson’s defense of Hanson (who is also a men’s rights ideologue as well as being an advocate of many other loathsome causes)  is that he is perhaps not as diplomatic as he should be but basically a brave iconoclast, willing to bravely say things that the major donors to his University and foundations will love, no matter how creepy they sound to those liberal do-gooders. I mean, someone who will bravely line up to get paid by Peter Theil! What an intellectual daring-doer.

Categories
academics computer architecture

Xor patterns

The xor  i mod 128 “multiplication table” as presented by Mathematica.

Here is the mod 64 matrix.

Categories
academics state maps systems

informal methods applied to networks and timeouts

Distributed computation involves many interesting issues concerning shared data. Here I want to sketch out what networks look like using applied (informal) mathematics so we can look at some algorithms for consensus and data consistency. No  formal methods or category theory or metamathematics of any kind have been used in making this note.

Start with a set M of messages and a set S of “sites” or site identifiers. We have a map  sources:M → S so that each message m is associated with the site that sent or can send it. We have two interesting subsets of M, Requests ⊂ M and Responses ⊂ M with Requests ∩ Responses = emptyset.  The idea is that some sites will send requests to other sites and may get responses back. Each response should be unambiguously associated with a request so there is a map req:Responses → Requests where, for m in Responses,  req(m)  is the corresponding element of Requests .

A network can be described as a collection of connected state machines that represent network sites or nodes. In this work, state machines are represented by maps f:E∗ → X where E is an alphabet of events, E∗ is the set of finite sequences over E, and f(σ) is the output in the state reached by following sequence σ from the initial state.  Let Null be the empty sequence so f(Null) is the initial state output. Write  (σ after a) for the sequence obtained by appending element “a” on the right of sequence  σ. The intuition is that  σ takes the system to the current state state and then an “a” event takes it to the state “after a”. For example, f(σ after a) > f(σ) means “a” caused the output to increase in value.

Sites can receive  messages, transmit  messages, and advance state just by the passage of a unit of time. Let  the set of events E include all the elements of M, each of which represents receiving that message, plus an event “transmit” which means – “transmit the message the site is attempting to send” – and “tick” which means some unit of time passed.    Here is a definition of a function to count how many times the site received any particular message.

  • RxCount(Null,m) = 0,
  • RxCount( σ after m, a) = RxCount( σ, m)+1 if  a=m
  • and  RxCount( σ after a, m) = RxCount( σ, m) otherwise.

We can also count the number of ticks since the first time a message was received.

  • TickCount(Null,m)=0,
  • TickCount( σ after a, m) = TickCount( σ,m)+1 if (a=tick AND Received( σ,m) >0),
  • TickCount( σ after a, m ) = TickCount( σ,m) otherwise

 

Suppose we have some state function tx so that tx(σ) =m when the site is attempting to transmit message m and tx(σ) =nil if the site is not attempting to send a message in the current state.  A transmit event causes  tx(σ) to be transmitted if tx(σ) is not nil.  Using tx as a parameter to a counting function, we get:

  • TxCount(Null,tx,m) = 0,
  • TxCount(σ after a,tx,m ) = 1+ TxCount(σ,tx,m) if a=transmit and m=tx(σ ),
  • TxCount(σ after a,tx,m ) = TxCount(σ,tx,m) otherwise.

We can also count how much time has passed since we first tried to transmit a message m.

  • TriedCount( Null, tx m) = 0
  • TriedCount( σ after a, tx m) = 1 if ( tx( σ) =m and TriedCount(σ, tx,m)=0
  • TriedCount( σ after a, tx, m) = TriedCount( σ,tx,m)+1 if (a=tick AND TriedCount( σ,tx, m) >0),

A “site”  s will be represented by two state dependent maps tx and g, with tx tracking transmits and g telling us whether the site has failed. We don’t specify what makes a site fail, only that it can fail and once failed, it never recovers (we can make this more smart, by specifying recovery actions later, but for now let failure be permanent).

(6) Let s be an element of our set of Sites and say (tx,g) represents site  s iff

  1.  tx(σ)in M or tx( σ) =nil
  2.  tx(σ)  in M implies source(tx( σ))=s
  3.  tx(σ) in Responses implies RxCount( σ, s,req(tx(σ))) > 0
  4.  g(σ) in {True, False} and  g(σ) implies ( tx(σ) = nil AND g(σ after a))
  5. EXISTS c> 0 so that for m in Requests where TickCount( σ, s,m) > 0 , for some r in Responses TriedCount( σ,tx,r)>0

The last requirement means that sites at lest have to try to send responses.

Suppose we have a set of such pairs (txs,gs) for s in S. The next thing to do is to determine a sequence of events σs  for each s in S because each site may “see”  a different sequence of events. That is, we need to specify a mapping from sequences σ that determine the state of the composite system (the network) and sequences σs determining the state of each component site s.

The network that contains all these sites can be itself represented as a state machine with its own event alphabet A and event sequences  σ over A.  At this point, we don’t have to know much about A, just about what happens to each σs when an event “a” is appended to σ  over A.  Let σs  = h(σ, s) and let h(Null,s) = Null so all sites start in the initial state. Then h(σ after a,  s) needs to be specified. For this system, each component can either advance by 0 or one step so

  • h(σ after a,  s)= h(σ,  s) or h(σ after a,  s)= (h(σ ,  s) after b) for some b in E.

The expression (h(σ ,  s) after b ) just means that b is appended on the right to the sequence h(σ ,  s). Now we need some rules for how the state changes in the sites relate to each other.  First, if time advances for one site, it has to advance for all of them:

  • h(σ  after a,  s) = (h(σ ,  s) after tick) implies that for all s’ in S,  h(σ  after a,  s’) = (h(σ ,  s’) after tick)

A message can be delivered to a site only if that message is sent by another site

  • h(σ  after a,  s) = (h(σ ,  s) after m) implies that h(σ  after a,  source(m)) = (h(σ ,  source(m)) after transmit) AND  txsource(m) (h(σ ,source(m))) = m

Notice that we don’t have to limit how many sites can transmit and receive or whether messages are broadcast or not. We could, alternatively require that h(σ  after a,  s) = (h(σ ,  s) after m) implies TxCount(h(σ after a ,txs,source(m)) > 0 to allow the network to deliver messages after a delay or out of order, but let’s start with something simpler.

Let Sent(σ,s,m)  be the number of times site s has sent message m and Recvd(s,m)  be the number of times site s has received message M.  A site s can be operating or failed  so let Failed(s) indicate that status.  Note σ in this context is the event sequence of the system (the network) and each   σs is the induced event sequence of site s.

  • Rcvd(σ, s,m) = RxCount(σs ,m)
  • Sent(σ, s,m) =  TxCount(σs,txs,m)
  • Failed(σ, s) =    gs(σs )
  • Since(σ, s,m) =    TickCount(σs ,m)
  • SinceTried(σ, s,m) =    TriedCount(σs ,m)

The network is loosely specified but has the properties that  (1) a site is either failed or not, (2) no message can be received unless it has been sent, (3) a site can only send a message if it is the source and (4) a response won’t be sent unless the corresponding request has been received by that site.

  1. Failed(σ,s) or not Failed(σ,s) . PROOF 6.4 and definition above.
  2. Recvd(σ,s,m) > 0 implies Sent(σ,source(m),m) > 0.  PROOF by definition and 6.3
  3. Sent(σ,s,m) > 0 implies source(m) = s. PROOF from the definition and 6.2
  4. Sent(σ,s,r)>0  for r  in Responses implies Recvd(σ,s,req(r))  PROOF from the definition and induction on sequence lengths.

For the network as specified, there is no boolean state function F and sites s and z so that F(σs) implies Failed(σ,z).That is, there is no way for any site to deduce the failed state of any other site.  Suppose there was such an F. Then for some σ we have F(σs ) and g(σz ). Let σ =concat(u,v) where u and v are sequences and u is the shortest prefix of σ  so that Failed(σ,z). There must be some such u or else Failed(σ,z) would be false. We can define a new (tx,g) that acts just like (txz,gz)  until after σ except that g never becomes true. Define g(w) = False for all sequences w and define tx(w)=  txz(w) whenever w is a prefix of σz (or equal to σz  ). If w has σz  as a proper prefix then set tx(w)=m for some arbitrary message m. Then replace (txz,gz) with (tx,g). In the new system F(σs ) is true but g(σz) is false and not only that, site z can send messages after site s has concluded that it has failed. Therefore no such F is possible.. This result is often called the Fischer-Lynch-Patterson Theorem.  To me, this result means the obvious: that without timeouts and some sort of message delivery probability, the network can’t guarantee anything much.

Now let’s informally state a property of the system that sites are obligated to try to respond to requests unless they fail.

  • .Recvd(σ,s,q) for q in Requests implies eventually either  Sent(σ,s,r) for some r so that q=req(r)  or  Failed(σ,s)

So what does “eventually” mean? Here is a property of sites.

  • 6.5.  EXISTS c>0 s.t. TickCount( σ, r) > c for r in Requests implies that (for some q, so that req(q)=r,  either (TxCount( σ, tx,q)>0) OR g(σ))

A site cannot force a response message to be transmitted, but it can try to transmit the response message and fail if its transmit request is ignored by the network for too long. Then we have a network property

  •  Recvd(σ,s,q) for q in Requests implies  ( Sent(σ,s,r) for some r so that q=req(r)  OR   Failed(σ,s) OR  Since(σs,s,q) < c ) where c is the bound from 6.5

 

Categories
academics business software business

James Damore’s defenders (updated)

(recently saw a post claiming that Damore’s firing was an indication of closed minds at Google, so it seemed important to repost this – vy)

men's_lib

The Google manifesto  is a crackpot political argument combined with basic scientific ignorance, not a scientific argument.  The people claiming otherwise are either lying or terrible at reading.  Damore’s essay is packed full of paraphrases of Jordan Peterson’s  body of work, right wing political slogans, and resentment against women. Damore claims that any program to encourage hiring and promotion of women and minorities constitutes discrimination against white men.  According to him a company mentoring program to encourage women programmers would be both wrong and illegal.  He says that there is no gender wage gap and women get lower wages because they don’t want to work as hard or take risks like men do. He claims that feminism is a ploy by “Marxist intellectuals” to replace their old class struggle pitch. He says that Google management are left-wing extremists,  motivated by a “veiled left ideology”, whose diversity initiatives are “encroaching extremist and authoritarian policies”.   He says that he is in favor of diversity, but against actually doing anything to encourage diversity because:

Discriminating just to increase the representation of women in tech is as misguided and biased as mandating increases for women’s representation in the homeless, work-related and violent deaths, prisons, and school dropouts.” 

Damore’s deplorable basket of crackpot resentments is not science. Period. The defenses of Damore by people like University of Texas Computer Science Professor Scott Aaronson and  UW’s Stuart Reges  and Peter Singer are either grossly dishonest or complete failures of scholarship. Aaronson writes to say that all Damore was doing was ” mooting the hypothesis of an evolutionary reason for average differences in cognitive styles between men and women,” and that  “the basic thesis being discussed […]  that natural selection doesn’t stop at the neck, and that it’s perfectly plausible that it acted differently on women and men in ways that might help explain many of the population-level differences that we see today“. He laments the  “clickbait narrative” of Damore’s critics (although he doesn’t cite or quote any of them because that would ruin his  baseless temper tantrum). But Damore is not saying anything is “perfectly plausible”. He is insisting that Google should abandon any attempt to hire or advance women or minorities.  Stuart Reges  wrings his hands in anguish:

For the last ten months I have been discussing this issue at the Allen School of Computer Science & Engineering where I work. I have tried to understand why Damore’s opinions generated such anger and have struggled to decide what I want to do in response.

He tried, so sincerely,  to understand why people would get angry reading stuff like:

Yes, in a national aggregate, women have lower salaries than men for a variety of reasons. For the same work though, women get paid just as much as men. Considering women spend more money than men and that salary represents how much the employee sacrifices (e.g. more hours, stress, and danger), we really need to rethink our stereotypes around power. – Damore

Really Stuart? Ten months of sincere effort and you can’t figure out what about Damore’s memo would make people mad?

As it became clear that the working class of the liberal democracies wasn’t going to overthrow their “capitalist oppressors,” the Marxist intellectuals transitioned from class warfare to gender and race politics. The core oppressor-oppressed dynamics remained, but now the oppressor is the “white, straight, cis-gendered patriarchy.”  – Damore

Although Aaronson won’t cite any of the critics of Damore, he lists a number of “courageous” defenders. For example, here is Peter Singer with more of this nonsense:

James Damore, a software engineer at Google, wrote a memo in which he argued that there are differences between men and women that may explain, in part, why there are fewer women than men in his field of work. For this, Google fired him.

Reges has a similar claim:

In this case, suggesting that men and women are different either in interests or abilities is considered blasphemy. – Reges

Obviously what Reges, Singer, and Aaronson wrote is not true. Insisting that there is no wage gap or that any diversity program at all constitutes discrimination against white guys or that Google management is on some left-wing crusade, is not evolutionary biology and it’s not arguing that “there are differences between men and women” – a totally uncontroversial claim.  It’s not acceptable for these academics to misrepresent Damore’s resentful tract as some musings about evolutionary biology.

But what about all the scientific citations in Damore’s memo?  Giving those all benefit of the doubt, if Aaronson and Singer and all the other handwringing apologists had tried to characterize Damore’s memo more more honestly as, say: “a combination of a political rant and an argument about evolutionary biology”, all of their  indignant claims to be defending free scientific inquiry would have been a lot harder. They would have had to let go of the strawman and come up with arguments less dependent on emotion and name-calling.   Here’s Aaronson

Let that be the measure of just how terrifyingly efficient the social-media outrage machine has become at twisting its victims’ words to fit a clickbait narrative—a phenomenon with which I happen to be personally acquainted.  Strikingly, it seems not to make the slightest difference if (as in this case) the original source text is easily available to everyone.

This is to defend someone who wrote that one problem with Google’s efforts to hire women is that:

“We can make software engineering more people-oriented with pair programming and more collaboration. Unfortunately, there may be limits to how people-oriented certain roles at Google can be and we shouldn’t deceive ourselves or students into thinking otherwise (some of our programs to get female students into coding might be doing this).” 

Or here’s Singer:

So on an issue that matters, Damore put forward a view that has reasonable scientific support, and on which it is important to know what the facts are. 

Really? There’s “reasonable scientific support for  “For the same work though, women get paid just as much as men”? No there is not.  How about  “political correctness is a phenomenon of the Left and a tool of authoritarians.” Some nice double blind studies on that one?  What about:

 

I’ve heard several calls for increased empathy on diversity issues. While I strongly support trying to understand how and why people think the way they do, relying on affective empathy—feeling another’s pain—causes us to focus on anecdotes, favor individuals similar to us, and harbor other irrational and dangerous biases. Being emotionally unengaged helps us better reason about the facts.

Reasonable scientific support for that? Reges wants pity

When I tried to discuss Damore at my school, I found it almost impossible. As a thought experiment, I asked how we could make someone like Damore feel welcome in our community. The pushback was intense. My question was labeled an “inflammatory example” and my comments were described as “hurtful” to women.  – Reges.

No kidding. The head of undergraduate instruction asks how to make a misogynist feel welcome in the community and people push back. Shocking. The entire basis of Reges, Aaronson’s and Singer’s defenses of Damore depends on whitewashing away all the ideology in his essay, taking his variant of “I’m not a racist but ... ” at face value, and then pretending that his wacky “biology” is respectable. Only if you do all that can you denounce the irrational anti-scientific anti-free speech mob from your claimed position as an Olympian Scientist and Defender of Free Speech. How original: to defend a sexist rant by claiming its critics are hysterical.

“Biological males that were castrated at birth and raised as females often still identify and act like males – James Damore” 

Wow, imagine not being struck by how weird that is.  There is a biological argument in Damore’s essay, but it’s  ridiculous. Nobody  argues that there are no biological differences between men and women. Nobody. Damore comes up with:  “Differences in distributions of traits between men and women may in part explain why we don’t have 50% representation of women in tech and leadership.”  Well, who said that those differences definitely did not explain any differences in representation? Nobody, that’s who. Google engineering is 19% female. Google’s management is 22% female.  The issue is not why Google doesn’t have 50% representation, but why it has 19% representation.

Damore cites a number of studies that show or claim to show that certain traits are weakly correlated with gender. The gender based differences in those studies are in single digits so even if we accepted them as authoritative (they are not) they would not begin to explain the gender differences at Google. More striking, not one of those studies concerns programming ability or performance. When people claim Damore’s cited studies represent the scientific consensus (which is not true) they leave out that those studies have absolutely nothing to say about either programmers or diversity programs.   Let me just stress that, because Damore is repeatedly claimed to have been relying on science: Not a single one of the studies that Damore cites claims to show a relationship between gender and ability to code.

Image result for 4 aces

Not one. Traits like  which toys rhesus monkeys pick by gender may be related to human performance writing Java code but there is no evidence of that and it’s pretty implausible. Why being “more thing oriented” would make men more likely to be managers of people at Google or more interested in distributed consensus algorithms is also not addressed. But even if we were as naive as Professors Aaronson, Reges, and Singer, and accepted this collection of studies as meaning what Damore claims they mean, it takes a stupendous level of mathematical ignorance to agree that such studies would explain Google’s gender imbalance.

There are 52 cards in a deck of cards, so a blind pick from a shuffled deck produces an ace with probability 4/52.  Yet, I can guarantee you I can pick 4 aces in a row out of the deck every time  if I look at the faces of the cards. Google and other companies don’t hire based on random sampling from the population. They recruit, interview and test and, because they are a highly profitable company, they can pay more and offer better benefits to attract employees they want. They look at the cards. If they want aces, they can get them. Most of the programmers in the world are average or worse. Does Google have to accept that half of its programmers will be below average? This is obvious, but in a rush to take Mr. Damore’s rant as a serious contribution, Damore’s defenders, who claim to be speaking the name of science, apparently  can’t do basic statistical reasoning.

The really interesting question is why this document has any defenders at all and, particularly, why all the concerned hand wringing from academics.

 

“Civilization’s going to pieces,” broke out Tom violently.
“I’ve gotten to be a terrible pessimist about things. Have you read
‘The Rise of the Coloured Empires’ by this man Goddard?”

“Why, no,” I answered, rather surprised by his tone.

“Well, it’s a fine book, and everybody ought to read it. The idea is if
we don’t look out the white race will be–will be utterly submerged.
It’s all scientific stuff; it’s been proved.”

“Tom’s getting very profound,” said Daisy with an expression of
unthoughtful sadness. “He reads deep books with long words in them.
What was that word we—-“

“Well, these books are all scientific,” insisted Tom, glancing at her
impatiently. “This fellow has worked out the whole thing. It’s up to us
who are the dominant race to watch out or these other races will have
control of things.”

“We’ve got to beat them down,” whispered Daisy, winking ferociously
toward the fervent sun. –  F. Scott Fitzgerald, Great Gatsby.

(h/t to vp at Lobste.rs for reminding me of this )

 

 

Categories
academics business

Current reading: July 8 2017

  1. Principal type-schemes for functional programs∗ Luis Damas† and Robin Milner First published in POPL ’82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, ACM, pp. 207–212
  2. THE PRINCIPAL TYPE-SCHEME OF AN OBJECT IN COMBINATORY LOGIC BY R. HINDLEY
  3. Quicksort. 
  4. Tiny C – sheer genius!
  5. Plan B 
  6. C 89 
  7. Mifid II 
  8.  Rust types.  and Cyclone. 
  9. Badly behaved polynomials.

Consequently, to overcome this restriction, the implementations of Rust’s standard libraries make widespread use of unsafe operations, such as “raw pointer” manipulations for which aliasing is not tracked. The developers of these libraries claim that their uses of unsafe code have been properly “encapsulated”, meaning that if programmers make use of the APIs exported by these libraries but otherwise avoid the use of unsafe operations themselves, then their programs should never exhibit any unsafe/undefined behaviors. In effect, these libraries extend the expressive power of Rust’s type system by loosening its ownership discipline on aliased mutable state in a modular, controlled fashion: Even though a shared reference of type &T may not be used to directly mutate the contents of the reference, it may nonetheless be used to indirectly mutate them by passing it to one of the observably “safe” (but internally unsafe) methods exported by the object’s API – from

 

Proposition: there are no major applications in any safe language that do not depend on either C libraries or “unsafe” magic keywords or both.

Categories
academics theory

Basic math for basic algorithms

It’s odd that all the descriptions of basic programming operations, such as sorting, rely on pseudo code or complex formal logic. All we are doing is modifying finite sequences so it seems like we should be able to use ordinary algebra. I’m going to start by defi ning basic operations on finite sequences and then look at the usual algorithms for sorting them – all without either using any pseudo code or any formal methods.

Download.