Monday, July 19, 2021

Why Passwords Should Be Only Words

I never liked miXED cAsE passwords, and lately I don't like all the e×tr@ characters in passwords. I finally put my finger on why -- they are both simply less efficient sources of entropy.

Here are some examples of passwords, what sources they come from, and how much entropy I would assign to each of them.

  1. ~V{.^e2AQ= - randomly generated from 96 characters, basically what shows on your keyboard. Entropy is 6.58 bits per character, so this 10 character value would have about 66 bits of entropy.
  2. WDLHYLTXKZ - from 26 letters. Entropy is 4.7 bits per letter, so this 10 character value would have 47 bits of entropy.
  3. 3756206184 - from numerals. Entropy is 3.32 bits per numeral, so this 10 digit value would have 33 bits of entropy.
  4. correct horse battery staple - "randomly selected" (not really) from common words. I'll take Randall Munroe's word on this (pretty sure he did more research than me), and assign 11 bits of entropy per word, so this has 44 bits of entropy. (this means Munroe's "dictionary" had about 2000 words in it)

To align this more fairly, here are passwords with a similar amount of entropy:

  1. $.0h>_6@)]p)za% - 15 characters
  3. 362276725051989790476913717218 - 30 digits
  4. park appear internal tale glorious nation vary anxiety access - 9 words
    • For this I used a list of over 2000 common words, from 2 to 12 characters each, and selected 9 at random.

Which of these seems most efficient?

Let us first address the character length / memory size, which is a red herring. The number of bytes should not be considered a factor. Computers are generally not storing the actual password anyway, just a cryptographically-secure hash value of it, which is fixed size. In the edge-cases where the full text is stored, there is no trouble for computers to store 1000 characters instead of 10.

Another red herring is false-entropy. Most exemplified in L33t-speak, humans get a false sense of entropy by using a very limited alphabet, while mixing a few extra characters into them. So intead of "password", you use "p@ssw0rd". This gives an intuitive feeling that it has the entropy of a full 96-character random word (53 bits of entropy), but it is actually a simple dictionary word (17 bits of entropy) with a small permutation (+4 bits).

So what is the more natural means of quantifying efficiency? I only know of two:

  1. How hard is it to memorize, per amount of entropy?
  2. How long does it take you to input into a computer?

For effort to memorize, I believe full words takes the prize hands-down. For effort to input into a computer, I think it is more complicated. Today, using a smart-phone, with a "password" field that hides what I am typing, I would probably rather input the 21 letters than the 9 words. But on a keyboard, or using voice-recognition input, or even just a text field on my phone that lets me use a swipe-keyboard and see what I'm typing, I would much prefer the 9 words.

This is a gut feeling, I haven't run any performance tests. I hope someone does a real research project on this. But I do have one simple argument, against mixed-case and non-numeric characters -- they require multiple keystrokes. Every time you change from uppercase to lowercase or vice versa, you have to move at least one other finger. If you're moving that finger, would you rather add 1 bit of entropy to that character by extending the alphabet of possible characters, or 4 bits by simply adding a letter? I vote for the latter.

One final consideration, which is an edge case, but some old ("legacy") computers put very strict limits on the length of your password. This is rapidly becoming a thing of the past, but in systems where your password can only be 8/12/16 characters, then using an actually random set of characters, from the widest selection set possible, is a significant advantage.

Wednesday, April 28, 2021

Software Engineering Explained

CAUTION CAUTION CAUTION CAUTION --> How the customer explained it: tree swing, but with 3 vertical seats where it looks more like a rope ladder. How the customerexplained it How the project lead understood it: tree swing, but with the ropes tied to opposite branches so the seat just rests against the trunk. How the project leadunderstood it How the analyst designed it: tree with a large gap where a section of the trunk is missing, with a swing in the trunk gap, and propped up with support braces. How the analystdesigned it How the programmer wrote it: tree with a swing lying on ground, the rope tied around trunk instead of branches. How the programmerwrote it What the beta tester received: empty noose hanging from a branch, where the swing should be. What the beta testerreceived How the new team applied patches: tree swing in place, but blocked off with caution tape; the tree is bandaged with duct tape, supported by props, and there is a useless extra swing lying on the ground. How the new teamapplied patches How it was documented: empty landscape, with just shadows of where the tree and swing would be overhead. How it wasdocumented When it was completed: a simple swing suspended by ropes, but the ground is snow-covered with a snowman, the tree bare of leaves. When it wascompleted What operations installed: one rope hanging from a branch, the swing seat dragging on the ground. What operationsinstalled The disaster recovery plan: a shriveled tree bent-over under the weight of the swing, which is touching the ground. The disasterrecovery plan How it performs under load: a swing with the seat broken in two, presumably from the butterfly which is hovering above it. How it performsunder load How the customer was billed: a wooden roller coaster. How the customerwas billed What Marketing advertised: a bright swing, with a luxurious red pillow on the seat; the tree is a black silhouette against a solid green background. What Marketingadvertised How it was supported: a tree stump. How it was supported What the customer really needed: a tire-swing hung from a branch. What the customerreally needed

Thursday, January 28, 2021

Hyrule Warriors: Age of Calamity vs Breath of the Wild

I just finished the latest Zelda game, Hyrule Warriors: Age of Calamity. 100% completion, >77 hours. And I need to tell somebody about it, even if it's just myself.

Game Comparison

How does Hyrule Warriors: Age of Calamity (AOC) compare to the previous game in the series, Breath of the Wild (BOTW)? Let's look at my top three features that made BOTW so amazing, and see how AOC compares. (spoiler alert: there is no comparison)

Breath of the Wild Hyrule Warriors: Age of Calamity
Huge open world! By far the largest designed game world at time of release - estimated at about 84 sq km (over 20,000 acres). And it was really open - Link could walk, run, or ride his horse anywhere in the overland world, without even so much as a loading screen. (the puzzle/dungeons did have loading screens, but still) Medium, fractured world... AOC is broken up into numerous missions, varying from sortof large to extremely tiny. You are bounded by invisible walls at every turn. That huge world is still there right? You can see the whole map! Maybe in some philosophical way, but if you can't see or interact with 99% of it, then it's not really there.
Open-ended gameplay! Link can follow the assigned missions to complete the game, or completely ignore them. While playing, several times I found myself setting my own goals that were not designed by the game creators. You can complete most tasks in any order; including going straight to the final boss (after the obligatory tutorial area). "Open-ended?" Like a hamster cage maybe, or possibly like subway tunnels. You can choose which (metaphorical) tunnels to go down, and new tunnels open up regularly to see other areas, but there is no real "freedom", or even the pretense of it. The only way you interact in the game is through predefined missions, which have predefined goals. If you enter a mission and exit without completing the goals, nothing you did counts - anything you picked up just disappears, including EXP.
Amazing physics engine! On the most primitive end, you will struggle to climb steep mountains, and have fun stacking boxes and barrels, but that's only the beginning. To get an idea of what I mean, search for "breath of the wild physics" and watch a few short videos. Physics, what's that? Link ignores all terrain, including moving through water like it was land. Invisible walls block you from attempting to cross any steep surface (and many not-so-steep ones). There are a few basic physics elements, like exploding barrels propelling characters backwards, but it is done at the same level as video games from the 90's. And while your cadre of 18 characters have some variances in their physical abilities, such as running speed, weapon reach, etc, these seem to have no effect on physics -- your largest characters can overlap monsters in space, and they don't fling enemies any farther than the smallest characters.

Those are only the top differences; but they go all the way from the heart of the game to almost every detail. While AOC looks like BOTW, and even has a well-connected storyline, the games themselves are completely dissimilar in almost every way.

Breath of the Wild Hyrule Warriors: Age of Calamity
Full of puzzles, both explicit and implicit. The only "puzzles" are how to optimize leveling up your characters and their arsenals of weapons.
Full of weird, interesting things to look at and find. The only hidden items are chests and Korok seeds -- which later in the game you are given tools to find, should you wish to get 100%. (which of course I did)
Weapons are extremely constrained resources; the management of your collection of fragile weapons is like a perpetual mini-game.
(I actually have just two complaints about BOTW, and the fragility of all equipment is one of them - Link must be swinging, stabbing, and shield-smashing like his life depends on it, every single time. Because whether you are smacking a floppy bat or stabbing solid stone, they break like crazy either way, and you can't ever repair them.)
All weapons are indestructible, arrows are infinite, and you can dramatically upgrade any weapon, both with levels and seals (magical enchantments).
(I realize that breaking all your stuff is lame, but this is a wee bit of an over-correction)
Makes your variety of weapons extremely significant. While the durability goes down the same regardless of what you hit, the amount of damage you do depends on what weapon you choose, and how you use it. Hammers break rocks much better, axes cut down trees better, and "sneak attacks" do extra damage. All weapons do equal damage. So find the weapon/character that does the most damage, level up that weapon, learn the combinations, and repeat for the whole game. (With one exception - the Master Sword is improved against Malice/Hollows.)
Link's "level" is your skill level. While Link does get increases to hearts and stamina, this matters much less to his survival than does the player's ability to dodge and parry, and more importantly to be strategic about approaching each situation. Like Final Fantasy, "levels" are the trump-card. While player skill can boost your damage and reduce your injuries, dodging is made extremely easy, and simply repeating simple attack patterns can destroy hundreds of enemies per minute. Once you reach level 100, there are only a handful of missions which require any real skill or thought to overcome.
Makes real use of both recipes and clothing to affect the game. You can only have one food effect active at a time, and you carefully manage your food and clothing to survive and get significant benefits. Has a version of recipes, but they are all managed for you, and you can easily ignore them if you don't feel like selecting them; their effects are mostly mediocre, and often you only gain access to resources after you have demonstrated that you no longer need them. And while Link has an extensive wardrobe, they are merely costumes, which have no effect whatsoever in the game.
Link starts off with nothing; you will scrape to gain every item and ability, both in-game and in your own skills as a player. Link starts you out as a larger-than-life hero out of the gate, with slightly more abilities that Link has at the end of BOTW. Later in the game, the only phrase that describes Link's abilities is "power overwhelming" (said in the voice of the Protoss - which incidentally sounds a lot like Monk Maz Koshia).

What's AOC Got That BOTW Don't?

So that's what "missing" from Hyrule Warriors: Age of Calamity; but what does it have, that Breath of the Wild doesn't? That is, aside from being a (super)power-fantasy.
  1. The combat system in AOC is much more evolved/involved. In short, there are "combos" which remind me of Street Fighter, only vastly much easier to learn and perform. And you will practice combat endlessly, so you get pretty good at it.
  2. The single biggest new feature is multiple playable characters. The final count is 18, but they are distributed pretty evenly through the game, so you aren't likely to spend much time playing most of them. If you discount the two which you won't get until after you defeat Calamity Ganon, and the 6 that I really didn't enjoy playing at all, that's still 8 to choose from for a lot of the game, which is cool. Well... maybe, sometimes. I was burned on this by my own optimization, because if you want to level up as fast as possible (which the game really incentivizes), then you end up picking one main character (I choose Link if course), and using that one character whenever possible. Most missions allow/require selecting multiple characters, and you can direct them each around the map, but most of the time I just played Link and ignored the other characters. Although, AOC does force you to play specific characters at times. Each character has one or two "training" missions which that character must play solo, and some require two specific characters, or four. And there are a few time-constrained missions where you really do need to split up to beat the clock, forcing you to actually make use of at least two or three selected characters in combat. And even some missions where every character is locked into an area with their own monster to defeat. But most of the time you choose at least one character, so I played as Link probably 80% of the time. And any of your team who isn't played by you is really lame; they both take and receive minimal damage, and sometimes don't follow instructions. Unless, you are playing in...
  3. Multiplayer! You can play two-player co-op (split-screen). I did not actually do this, but I can see it being an important feature for some players. (I suspect that Nintendo decided to support multi-player first, and back-filled to get all the features of multiple characters that you can direct around the map.)

Know Before You Go (to Hyrule)

If you choose to play through Hyrule Warriors: Age of Calamity, here is everything that I wish I had known before I had played for many hours. (Of course there's a lot more to learn, but you will learn all that in the course of normal gameplay.)

Most of this won't make sense, much less stick in your brain, until you have played the game, so come back and read this after you have played one or two missions.

  • From every menu screen, tap the R or L bumpers several times to cycle through the variety of menus. They aren't required, but they are super helpful, especially for browsing through objectives and missions.
  • You should always register as many items to the Sheikah Sensor as possible. For some seals, this will increase how many of them you will get. It adds visual noise to the map, but if you use the aforementioned menus, this shouldn't be a problem.
  • You should also register any Quests you are pursuing to the Sensor. This makes them visible even when zoomed-out on the map. And it also functions as a warning-light on a "Sell" screen, marking any items that you need more of to complete a flagged Quest. (but not if you already have enough, so be careful what you sell)
  • If you ever want to find all the Korok seeds, for Hyrule's sake hold on to the "Forest Dweller's Sword" when you get it (during "Freeing Korok Forest"). It doesn't have great stats so of course I just fused it, and only later learned that this is the only decent weapon that will (eventually) get "Detects Nearby Koroks". I did finally got another one by chance, probably 25 hours of gameplay later.
  • On any "Sell" screen, a yellow star icon means a "High-Resell" item. This will appear on individual weapons when selling to the Blacksmith. It can also appear in trading posts when on the Sell screen, where the yellow star appears in the category area, not on the individual items shown. Each trading post only "wants" a couple of categories of items, and at any given time it may not "want" any of them.
  • There are moderately good websites for most questions about the game, locations of Koroks, etc, but no "one best site". But there is one best google sheet! 😃

Lastly, you should learn at least the basics of weapon fusing ASAP; it is quite involved.
  • Weapons are leveled-up only by fusing, which sacrifices one weapon to make another stronger.
  • Each weapon has a hidden "quality", which affects how much damage it does. You can easily read that damage number, but you won't know if there is a better possible number without some googling. (and there always is a better possible number, because the absolute best values only come from Octo-polishing)
  • Weapons are also improved with Seals:
    • Every weapon can have up to four seals which you can affect.
    • Seals will only be applied in fusing when there is an open slot for a seal. The first four slots are opened at weapon levels 1, 5, 10, and 15.
    • Every weapon has two bonus seals, which apply automatically at level 25 and level 30. These two seals are totally pre-determined by the weapon type.
    • Each effect has a unique icon, but they are logically grouped by the outer shape of the seal:
      • Circle for resources and EXP
      • Square for aggressive-play
      • Hexagon for defensive
      • Star for specialized damage
    • When two or more seals on a weapon have the same shape, the effect of all of them is increased.
    • For each normal icon there is the normal version, or improved versions with one or two tiny blue plus-signs in the lower-right corner of the icon.
    • There are also seals with Golden outlines, which are extremely rare, and they have only one version of them.
      • note: This does not mean they are the best seals -- depending how you play, most of these will be less useful than seals you already have on your weapons.
    • There are static increases to a weapon's damage based on having 4-of-a-kind of seals, and 2-of-a-kind seals. So for maximum damage you need 4 of one shape and 2 of another shape. To do this without wasting many resources, you need to know what that weapon's hidden seals will be (revealed only at level 25 and level 30).
    • Bonuses that have a % will stack. So if a seal does not have a % on it, do not apply more than one of it to a single weapon.
  • Use weapons with the "Fusion Material EXP" seal as an in-between step to level up good weapons; that is, fuse other weapons to them first, and then fuse them to an actually good weapon.
    • Early on, you should probably just use this weapon for a while, then when you find an actually good weapon fuse it into that one for a fast level-boost.
  • Never apply a really good seal to a weapon that you aren't planning to keep forever. When you fuse a weapon onto another one, only the first seal is available to be transferred, so to transfer the 2nd/3rd/4th seal, you would have to remove the preceding seals from it first.
  • You will never level up all your weapons to the "best" optimal version. Between all my characters, I have about 6 weapons which are close to what I was optimizing for, and none of them is quite perfect. I expect that I could get all 18 characters with at least one perfect weapon by playing blood-moon missions for another 20-50 hours, but I really have no interest in doing that.
  • The Blacksmith will gain several abilities through completing specific missions in the game. These are:
    • Raise Weapon-Level Limit: this ain't free, but it's well worth it. You will unlock the ability to raise to level 25 and level 30 with two separate Quests
    • Remove Seals: and this ain't cheap! There are two separate Quests, one to let you remove one seal, and the other to let you remove all four seals (for the price of two).
    • Octo-Polish: Will convert a rusty weapon to a good weapon. There is a separate Quest for improving the results of polishing.

Good luck, and happy Korok hunting!

Thursday, January 7, 2021

PowerShell makes it easier

Change the "Date Created" and "Date Modified" of a file in Windows:

  • (Get-Item "C:\file1.txt").CreationTime=("3 August 2019 17:00:00")
  • (Get-Item "C:\file1.txt").LastWriteTime=("3 August 2019 17:10:00")

Much easier than changing your system clock!

Wednesday, November 11, 2020

COVID-19 re-evaluated

I looked at the data again, here is what I see.

  1. It now seems clear that the COVID-19 deaths match the cases almost exactly, just with a two week delay.
  2. The US has dropped case mortality from 10% at the end of March to 2% at the end of June, which seems to have leveled off at 1.5%, and does not seem likely to move any time soon.
  3. Our cases have exploded -- there was a big dip in September, but growing sharply from around October 5th and continuing today.


  1. Since mortality leveled off around July 1st, we can forecast expected deaths for at least the next two weeks quite simply -- here is a graph overlaying average deaths with 1.5% of cases from 14 days earlier.

    So you can see, it is pretty certain that we will be breaking 2,000 deaths per day in two weeks. And looking at the curve, it seems almost certain that we will be at 3,000 deaths per day a few weeks after that, where we can *hope* maybe we will level off and start dropping back down. My best guess is that we will have at least 350,000 COVID-19 deaths in the United States by the end of 2020.
  2. It could be *much* worse. That was my "optimistic" prediction of what will happen, if we all respond to the spread in a meaningful way, and ASAP.  But what if our response is not effective, and COVID-19 infections match the patterns of influenza? Because we do know a lot about that, and it looks real bad. With the flu, the infections really start up around October, keeps going up through year-end, peaks around the end of January, and taper off around April. I really hope this is not what happens with COVID, because that means this has barely started. If true, we can expect at least 2,000,000 deaths by March. And that is aside from the "pandemic" problem; because with those numbers, our medical facilities will not be able to keep up, and the mortality rate will start going back up.

☹️ Last March, when I first looked into the COVID-19 numbers, I thought there was a good chance this disease could kill from 6 million to 9 million in the US. I thought it would spread much faster, so I was way far off there. Now I just hope the final tally will be just as far off; but right now it seems too close to tell if we might actually reach that number.

Stay strong, stay healthy.

Data from

Influenza graphs:

Thursday, October 22, 2020

Voting for Trump? Some things to consider

Trump is a Pathological Liar. Trump has made hundreds of documented statements which are provably false. According to fact-checkers at the Washington Post, Donald Trump made 1,318 false claims in his first 263 days as president -- over 5 per day.

Trump is Anti-First Amendment. Trump says that his opponents have "no right" to criticize him. Regularly claims "fake news", claims that news media is an "enemy of the American People!"; for a time the White House press room barred CNN, the New York Times, and Politico while allowing Fox News and Breitbart News. The White House banned the use of encrypted messaging apps (like Signal) by staff. After two MSNBC news anchors gave Trump some unfavorable news coverage, he sought an apology from them, and blackmailed them by threatening to have Trump's friend at the National Enquirer publish an article about their relationship. When Trump’s niece published a book about him (“Too Much and Never Enough: How My Family Created the World's Most Dangerous Man”), Trump said she was "not allowed" to write the book because of a nondisclosure agreement she signed in 2001.

Trump is Pro-Censorship. The EPA has been systematically removing all references to "climate change" from all documents, and canceling their own speakers who were going to speak on the topic. For all official documents, staff at the Centers for Disease Control and Prevention were instructed not to use the terms "transgender," "vulnerable," "entitlement," "diversity," "fetus," "evidence-based," or "science-based."

Trump is Anti-Privacy. The Trump administration created a new questionnaire for all visa applicants that asked applicants for their social media handles. Under Ajit Pai, a former Verizon Counsel appointed by Donald Trump, the FCC repealed net-neutrality, which would have required internet service providers to get consumer permission before sharing or selling the consumer's private information. As part of Trump's allegations of voter fraud, his commission requested private voter information from every state, most of which refused -- the information was to include every registered voter's full name, address, date of birth, last four digits of social security number, political party, and which elections they had voted in. The Trump administration finalized a new rule that would allow law enforcement authorities to collect DNA from immigration detainees in federal custody, to be stored in the FBI's CODIS database; under the rule, the privacy rights of migrants would no longer be protected. Trump's administration said that all data about patients with the coronavirus must be sent by hospitals to a central database in DC, bypassing the CDC.

Trump Acts and Speaks Like a Dictator. About COVID19, Trump said that the power to reopen the country rested solely with him, not governors. A direct quote: "When somebody is the president of the United States, the authority is total, and that's the way it's got to be." When not getting his way, Trump tweeted "our country needs a good "shutdown" in September to fix this mess". The next year, as Trump stonewalled Congress over funding for a border wall, the government entered a partial shutdown which left about 800,000 federal workers without pay, and lasted for thirty-four days - the longest in the nation's history. When asked about the US Constitution's checks and balances on power, Trump said "It's an archaic system... It's really bad for this country." Trump's lawyers said protesters at his rallies had no rights to express dissenting views. Trump called those who oppose him "dishonest, crooked people… They're scum - and I say it a lot, they're scum, they're human scum." After dozens of federal officers captured local protestors in Portland, taking them away in unmarked vans, Trump defended the clampdown saying "These are not protesters … these people are anarchists. These are people that hate our country. And we're not going to let it go forward." Protesters in Washington were sprayed with tear gas so that Trump and entourage could walk to a photo-op (at which Trump held up a Bible in front of a church). After Democrats withheld their applause during his State of the Union Address, Trump wondered aloud whether they had committed treason: "Can we call that treason? Why not? I mean, they certainly didn't seem to love our country very much." Trump said he might not accept the results of the 2020 presidential election if he loses; direct quotations: "You don't know until you see. It depends. I think mail-in voting is going to rig the election.", and "The only way we're going to lose this election is if the election is rigged.", and "Well, we're going to have to see what happens." Trump encouraged his supporters to illegally vote twice in November, by mailing in an absentee ballot and then voting in person on Election Day: "Let them send it in and let them go vote, and if their system's as good as they say it is, then obviously they won't be able to vote".

Trump is a Bigot. Trump consistently speaks negatively of immigrants, women (as anything but sex objects), Native Americans, Muslims, and veterans. Trump often praises his violent supporters who assault minorities. He instituted the travel ban, which was ostensibly against terrorism, but did not originally include any countries from which terrorists have originated. Trump tweeted about four non-white congresswomen that they "originally came from countries whose governments are a complete and total catastrophe, the worst, most corrupt and inept anywhere in the world (if they even have a functioning government at all)", and Trump suggested that they "go back and help fix the totally broken and crime-infested places from which they came."; three of those women were born in New York, Detroit, and Cincinnati.

Internationally, Trump makes American Look Both Aggressive and Idiotic. Trump alienated Mexico, started a trade war with China, made friends with Russia, and lied about Kuwait visa policy. In 2016, Trump urged Russia to hack Hillary Clinton's email servers. Trump said "we are very much behind President el-Sisi", the president of Egypt who had just imprisoned 17 Egyptians for protesting his regime. Trump expanded the CIA's power to include carrying out anti-terrorist drone strikes on its own discretion, which then were doubled that year in the middle-east. Trump withdrew America from the Paris Agreement (about the environment), becoming only the second country to abstain from it. Trump withdrew from NAFTA. During a speech at the UN, Donald Trump said "Nambia's health system is increasingly self-sufficient" -- there is no such country. In a meeting with members of Congress on immigration, Trump referred to Haiti, El Salvador, and nations in Africa as "shithole countries". Trump withdrew the US from the Iran nuclear deal, which included seven countries and took over two years, and then imposed pre-deal sanctions on Iran. Trump suggested that the U.S. purchase Greenland; when Denmark's prime minister Frederiksen responded "Greenland is not for sale," Trump canceled his planned visit to Denmark, attacked NATO, and called Frederiksen "nasty" and her remarks "inappropriate." Trump, already under investigation for applying political pressure on Ukraine, publicly called for China to investigate Joe and Hunter Biden. Trump frequently blames China for COVID19; his Secretary of State Mike Pompeo pushed agencies including the CIA for proof that the virus originated in a lab in China -- meanwhile China counters with propaganda that the virus was created by the US military. In their first presidential debate, Trump interrupted Biden almost every time the Democratic candidate spoke.

Trump Supports Human Rights Violations Against Immigrants and Foreigners. Trump has frequently referred to illegal immigration as a national crisis which, "hurts American workers; burdens American taxpayers; and undermines public safety; and places enormous strain on local schools, hospitals, and communities"; however, at the Trump National Golf Club, undocumented immigrants worked as housekeepers, groundskeepers, wait staff and stonemasons. After Trump passed the "zero tolerance" policy, at the Mexico border over a period of 42 days, almost 2000 children were separated from their family, who were held for illegal border crossing. Then Trump blamed the Democrats for this atrocity: "The Democrats are forcing the breakup of families at the Border with their horrible and cruel legislative agenda"; Trump later claimed that the Obama administration was responsible for the child-separating policy, which he had created. Under Trump, more migrant children have been in government custody than at any time in American history, some of them being children kept in cages. After US Border Patrol sprayed tear gas at migrants, Trump said, "First of all, the tear gas is a very minor form of the tear gas itself. It's very safe"; tear gas is banned even in war by the Chemical Weapons Convention. In five months, three children died in the care of the U.S. immigration authorities. Customs and Border Protection detained 18-year-old Francisco Erwin Galicia for twenty-six days; he is an American citizen, and was carrying a Texas ID, a Social Security card, and a copy of his birth certificate. DHS updated their policy to allow detaining migrant families with children indefinitely -- the large majority of these children having already experienced recent trauma.

Trump is a Terrible Commander-in-Chief. Trump regularly insults military veterans, especially POWs, while he personally evaded military service. Trump canceled a 2018 visit to an American World War I cemetery in France, saying, "Why should I go to that cemetery? It's filled with losers." Trump said the Marines were "suckers" for getting killed.

Trump is a repeated Sex Offender. At least 25 women have accused Trump of sexual misconduct, several of them actual sexual assaults. Michael Cohen, Trump's former lawyer, plead guilty to campaign finance violations, for paying hush money to women who claimed to have had affairs with Trump. Trump has also solicited prostitution.

Trump is Responsible for Massive Corruption in Government. Trump fired many appointees, for either not being loyal to Trump above duty to their own appointment, or as scapegoats; these include FBI Directory Comey, Attorney General Yates, and national security adviser General Flynn. When Texas Senator Hinojosa opposed civil asset forfeiture (which is an evil and corrupt practice), Trump told Sheriff Eavenson "We’ll destroy his career". Trump hired three lobbyists for agencies they had lobbied against, in direct violation of ethics rules which Trump himself had put in place. Trump eliminated the ethics course for incoming White House staff. After the massive email hacking scandal of Hillary Clinton, Trump ignored when Pence's personal AOL account which had been used for state business was also hacked. Trump tried to cultivate a personal relationship with a federal prosecutor Bharara, who was investigating Fox News and Trump's head of Health and Human Services stock trades; the final call from Trump was ostensibly to "shoot the breeze" which Bharara found unethical and reported to Attorney General Jeff Sessions; Bharara was fired the following day without any cause. Two senior intelligence officials told Robert Mueller that Donald Trump had approached them separately and requested they use their position to publicly announce the Trump campaign had not colluded with Russian operatives. Trump ordered the firing of Robert Mueller in June 2017, but backed off when his own counsel threatened to step down if he did so. Michael Cohen admitted to rigging online polls during the 2016 campaign to make it appear as though the presidential candidate had more support than he did; Cohen said he acted "at the direction of and for the sole benefit of" Trump. Trump directed at least five members of his administration to not cooperate with the Congressional inquiry for Trump’s impeachment; all of them defied their subpoenas to testify. The White House also did not to send representative counsel to the impeachment hearings, and refusing to hand over documents. With COVID-19, the White House banned its pandemic task force from testifying before Congress; the White House also explicitly prohibited Fauci from testifying before a House committee. Michael Flynn, Trump's first national security adviser, pleaded guilty twice to lying to the FBI in an investigation into Russian interference in the 2016 election; after which, the criminal case against him was dropped by the Justice Department. Trump fired federal prosecutor Geoffrey Berman, whose office prosecuted Michael Cohen (Trump’s former lawyer) and was investigating Rudolph Giuliani (Trump's attorney). Just days before Roger Stone was to begin a 40-month prison sentence, Trump commuted the sentence of his friend and political adviser; Stone had been convicted of obstructing a criminal investigation into Russia's interference in the 2016 U.S. election. While New York State's attorney general investigated whether Trump and his business overstated assets "to secure loans and obtain economic and tax benefits", Eric Trump canceled an interview with the attorney general, and the Trump Organization said it would not comply with seven subpoenas that it was sent. The Trump administration violated the Hatch Act by using government property (the White House lawn) for a political convention.

Trump is Also Heavily Involved with Economic Corruption. The reported incidents are too numerous to detail, and most of them are not 100% attributable to real corruption, but the trend is very clear; follow the link at the bottom for many examples. Some simply have no honest benefit, and so only a corrupt one can be attributed. For example, oil companies had been required to provide data on purchases of foreign oil; Trump removed this regulation. When the Federal Reserve projected 1.8% growth, Trump asked the Council of Economic Advisers to predict a 3.5% growth -- which they warned would do "real damage". The Trump administration secretly withheld roughly $4 million from a program that helps New York City firefighters, emergency medical technicians and paramedics who suffer from illnesses related to the 9/11/2001 terrorist attacks.


Trump Has Used His Presidency to Profit Himself and His Company. Trump has committed several blatantly illegal acts (violations of the emoluments clause), and numerous acts of direct conflicts of interest (which are mostly not illegal). The US military rented space in Trump Tower, amounting to a $2.4 million yearly expense, just in case Trump decided to sleep there. In visiting his own properties 271 times as president, Trump and Secret Service agents netted the Trump Organization more than $900,000. According to the Washington Post, Trump's business also brought in at least $3.8 million in fees associated with 37 political events held at Trump's properties. Trump's properties took in more than $1.1 million that it charged the government while he was in office. The Trump Organization made some of that money off of room rentals at Trump's club in Bedminster, N.J., when the business was shut down during the pandemic. Before assuming office, Trump vowed to "completely isolate" himself from his business. While in office, however, he visited his properties 274 times. Prior to the election, 2% of Trump properties sold went to anonymous LLC's rather than identified people; since the election this rose to 70% (as of 6/13/2017).

Trump is Personally Bad with Money. Trump boasted that his tax returns were “very big” and “beautiful,” but he has refused to release his returns for years. Of 18 years being investigated, Trump paid zero federal income taxes in 11 of those years. In 2017, after he became president, his tax bill was only $750. Trump received an income tax refund of $72.9 million after declaring large losses, which is now being audited by the IRS. Trump paid $70,000 for hairstyling. Trump is estimated to be $421 million in debt.

Trump’s Administration is Contributing More to Pollution than Anyone Else in the Western World. The following is mostly actions of the EPA, led by Scott Pruitt, whom Trump appointed -- regardless of your views on climate change, massive increases in pollution will poison both people and wildlife, and make the world a worse place for generations to come. They removed regulation of mercury disposal. Removed regulation preventing dumping mining operation debris into rivers. Lifted moratorium on coal mining of federal land. A study from the Environmental Protection Agency had concluded that an Alaskan mining facility could decimate salmon populations; under Trump, the EPA withdrew mining restrictions. Cut EPA workforce by 15% and the EPA budget by 31%. Rolled back EPA protections that ensured drinking water was clean and safe for consumption. Rolled back emissions standards for cars and light trucks. Trump rolled back offshore drilling regulations put in place after the BP Deepwater Horizon oil spill which, in 2010, had killed 11 people and released millions of barrels of oil into the ocean. Proposed allowing oil drilling for 94% of what is currently protected American shorelines; of the 22 governors of the affected coastal states, 15 of them disagreed with this plan. Trump appointed former oil lobbyist David Bernhardt to be Secretary of the Interior, a role responsible for the management and conservation of federal land and natural resources.

Lastly, Trump has all of the "normal" horrors of a US president; the nation seems to accept these traits from a president, but I think they are also unacceptable. Extrajudicial killing (raid in Yemen), nepotism (too many instances to count), extreme egotism, and general double-talk.

Personal conclusion: The above is mostly my summary of the extensive aggregation of the misdeeds of Trump’s presidency, at:

Now, I do not believe that all news is trustworthy – it is often inaccurate, or simply misleading. But while compiling this, I did some googling of many of the above points. And I believe that a large majority of the above is absolutely true. Furthermore, even if only 10% of it were true, it would still be grounds to not only not re-elect Trump, but to impeach him, remove him from office, and prevent him from holding any position of leadership for the rest of his life. If you do not believe any of the above, please look into the specific points for yourself. If you believe in all of the above, and still choose to vote for Trump, I am curious how you can sleep at night.

Tuesday, September 8, 2020

Corporate computer programming

Corporate computer programming (aka enterprise software development) is like doing a huge jigsaw puzzle. Just one big happy family project!

Except, instead of one picture, it has been cut up into many smaller pictures, which are given to teams to work on. Division of labor! That's not so bad, right?

And the puzzle pieces have all been handed out randomly to separate groups of people. And then each group is told not to trade pieces with other groups.

Houston, we have a problem ...