I had made a resolution to blog regularly in order to limber up my thinking and my writing. That was good for two days; then, life intruded and I fell behind. This blog entry will easily be as disjointed as the daily news; it is clearly a casual blog.
My morning newspaper continues to be a source of never ending wonderment; the daily “blow by blow” reports on this circus called a presidential election campaign is another.
On page 1 of the Buffalo News for May 11, 2016, an article by Mary Jordan from the Washington Post begins with a discussion of highly chauvinistic and sexist radio discussions between Donald Trump and Howard Stern.
Example: “You could have gotten her, right?” Stern asked Trump on-air shortly after Princess Diana’s death in 1997. “You could have nailed her.” “I think I could have,” Trump said.
The article goes on to say that between 1990 and 2005, Trump was cultivating an image of being a Manhattan playboy with so many women that he barely had time to sleep, but these days he is marketing himself in a different way for a different purpose and wants to play down some of the earlier images and statements.
Another article from the New York Times, by Jonathon Martin and Alexander Burns, reprinted in the Buffalo news on May 22, states that many of the usual wealthy Republican donors remain deeply resistant to Mr. Trump and are so far holding back on making contributions.
Michael K. Vlock, a Connecticut investor who has given nearly $5 million to Republicans at the federal level since 2014, said he considers Trump a dangerous person.
“He’s an ignorant. amoral, dishonest and manipulative, misogynistic, philandering, hyper-litigious, isolationist, protectionist blowhard,” Vlock said.
In another article, Trip Gabriel of the NY Times observes that both Donald Trump and Hilary Clinton are stressing the negatives about each other. I don’t have a reference handy, but I’ve read several places that the Donald has been criticizing Hilary for enabling her husband’s sexual misadventures; unless the stories about Trump’s past adventures and relationships are totally fabricated, this seems to be a clear case of a man who lives in a glass house throwing stones.
Is it any wonder that these two are much more strongly disliked than any other candidates of the last 10 presidential election cycles. See http://fivethirtyeight.com/features/americans-distaste-for-both-trump-and-clinton-is-record-breaking/ for some details complete with charts and diagrams.
Another day, I read that Trump says he has a mandate to be provocative; he is sure successful at this, isn’t he?
Scott Adams, creator of the Dilbert comic has for some time been labeling the Donald as a master hypnotist and persuader: predicting months ago that he had a very good chance to nail the Republican nomination and continuing to predict that there is also a good chance we will have a President Trump. Adams always hastens to add that he does not agree with or support Mr.Trump. I an in sync with him on both points.
Both Donald Trump and Bernie Sanders seem to be resonating with many Americans who are disturbed with the current state of affairs, sick of politicians who seem to be bought and sold daily, concerned about the future, and looking for an alternative. Trump makes broad promises backed up with little detail; Sanders provides more details, but many seem questionable and impractical; either will need the manipulative skills of Lyndon Johnson or PT Barnum to get his programs through Congress; the Democratic leaders seem as upset with Bernie as the Republicans are with the Donald.
Then there’s Hilary Clinton. I readily admit, I’ve never particularly liked the Clintons. I was turned off when Bill and Al Gore made their acceptance speech at the Democratic convention in 1992 (I think) and have never looked back. Now, I do have to note that the GDP and debt numbers from the Clinton years don’t look all that bad; they are probably better than those for either of his successors; maybe we’ll explore this more carefully another time.
For right now, suffice to say that I don’t see Hillary as our savior. I do think that she is likely to cause less trouble than Donald or Bernie. We do have to hope she isn’t indicted before or after the election. Meanwhile, Trump will be in court over Trump University in November, and you have to wonder why he won’t release his tax returns.
Where do we get our presidential candidates from, anyway? Think about recent history: Romney, McCain, Kerry, Bush, the second, Gore, Dukakis, Reagan, Clinton, … What’s a poor confused voter like me to do? Once in the past, I voted for Ralph Nader; another time, I dragged the lever over without selecting a candidate; this time I feel I have to vote, but I find it very tough to make a choice.
These random thoughts, presented in no particular order, result from reading the morning Newspaper.
According to Charles Krauthammer, “Trump has expressed sympathy for a single-payer system of socialized medicine, far to the left of Obamacare. Trump lists health care as one of the federal government’s three main responsibilities (after national security); Republicans adamantly oppose federal intervention in health care. He also lists education, which Republicans believe should instead be left to the states.” I wonder how my conservative friends who now support him rationalize voting against some of their core beliefs. Maybe they detest Hilary Clinton even more than big government; maybe they feel Trump is the lesser of the evils.
In a NY Times analysis piece, Jennifer Steinhauer tells us that Paul Ryan, “could not bring himself to give even nominal support to Mr. Trump, despite pressure from more conservative House Republicans, after the candidate disparaged various ethnic groups and accused Senator Ted Cruz’s father of conspiring with Lee Harvey Oswald, among other inflammatory comments.” This is more representative of my reasons for having a bad feeling about Trump in the White House.
In another piece reprinted from the Times, Margot Sanger-Katz tells us, “It already looks clear that many Obamacare insurance plans are going to raise their prices significantly.” Before you immediately damn Obama and the concept of health care for all: consider the reasons she cites: the cost of medical care – particularly new medications and new treatments – has been increasing dramatically and is expected to continue to do so; some government programs designed to help the insurance companies make the transition are expiring; insurance companies initially underestimated the cost of this coverage. You might well suspect that costs would be increasing for those with coverage even had there been no Obamacare.
Politifact rates Sanders’ math on minimum wage as mostly false. It is a very bad thing that some people work for some of the disgustingly low wages that are out there, but if the minimum wage is increased, the money will have to come from somewhere; something will have to give. Right now, the government subsidizes employers such as Walmart by providing their employees with food stamps and other benefits. No one can be sure how a mass change will play out. We are already seeing higher restaurant prices and other ramifications as a result of the New York State increase of the minimum wage for tipped workers.
Minimum wage may become a moot point because many low wage jobs are being eliminated by automation. Recently, I ordered some fast food by tapping on a touch screen at a kiosk. Elevator operators and gas pumpers mostly disappeared years ago. In The Second Machine Age , Brynjolfsson and McAfee, two smart guys from MIT suggest lack of employment will become rampant and we’ll be looking a things like: distribute capital – everyone gets dividends; promote man machine partnerships; pay people to do “socially beneficial” tasks; reserve some work for humans; provide vouchers for basic necessities; programs like WPA and CCC. There are some difficult choices coming; I wonder how the choices will be made and what they will be.
That’s more than enough to cause a big headache for today.
©Charlie Wertz 2016
I’ve decided I will try to motivate myself to begin blogging once again; Stay tuned to see if I succeed.
This item is mostly political. Most people believe that as of Tuesday, May 3, Donald Trump has locked up the Republican nomination for the presidency. My thinking aligns with that of Scott Adams, creator of the Dilbert comic (http://blog.dilbert.com/): I don’t think much of his promises and statements, but I have been predicting all along that he had a good chance of clinching the nomination and I believe he has a very good chance of becoming president. He is what Scott Adams calls a master persuader; he’s easily on a par with P.T. Barnum.
Yesterday, the NY Times reported on Mr. Trump’s plans for the first 100 days of his presidency. He will select a Supreme Court nominee, begin charming Paul Ryan and Mitch McConnell, attend a beautiful gala ball or two, rescind some Obama executive orders, begin threatening business leaders as to how he will punish them if they shift more jobs out of the US, complete the design of the wall between the US and Mexico, implement a ban on immigration by Muslims, begin an audit of the Federal Reserve, and move to repeal Obamacare. I have to agree with the Times’ writer, Patrick Healy, that the Donald will be very very busy trying to accomplish these things; business leaders who get elected to executive offices are usually surprised to learn how difficult it is to move the government to do things. I can safely predict Mr. Trump will issue more executive orders than either Barack Obama or George W. Bush ever thought of.
Today, the Times reports that Paul Ryan is not ready to endorse candidate Trump. Both George Bushes and Jeb have announced they do not support him. The Times reports that many foreign leaders are deeply concerned over his isolationist and trade war threats. Suffice to say this could be one of the most controversial and combative presidencies we’ve seen in a long long time. I am not at this time going to try to convince anyone that either Hilary Clinton or Bernie Sanders will make a better president.
©Charlie Wertz 2016
Ever since the truck went through our house in June, people have been telling me how lucky we were that neither of us was seriously injured or killed. I’ve been replying that the aftermath has been and continues to be a big big hassle with the result that I’d feel much much luckier had the truck never come down the hill across from our house. The other night, as I was going through this routine at a party with many people I had not seen for a while, it dawned on me that had the truck driver chosen some other route, we would indeed have been very lucky, but we would not have known it. Should I now try to go through life thinking how lucky I am whenever nothing bad happens to me? This seemed profound to me at that moment. Maybe it is; maybe it isn’t.
The slide deck for the presentation I plan to give at Buffalo Barcamp on Febuary 2, 2013 is at https://cjwertz.files.wordpress.com/2013/01/jobs.pdf
Maybe, I’ll get back to this and write something later on. If you look around this blog,you will find several other entries on this general topic.
These are notes for a presentation on Database Normalization I will be giving at the Database Seminar meetup on January 16, 2013. This is a relatively concise discussion, suitable for an hour or hour and a half talk. More detailed discussions with examples can be found in most database texts such as: Introduction to Database Systems, C.J. Date, Addison-Wesley; Data Management, Richard T. Watson, Wiley.
The slides for this talk are available here.
According to my Random House College Dictionary, the word normalization means, “to cause to conform to a standard or norm.” In mathematics this usually means to make variables comparable to or compatible with each other. In computer hardware, normalization is the process of aligning floating point numbers to facilitate arithmetic. In database design, normalization reduces a collection of data to its most basic form.
Slide 3 is a representation of a database table containing the columns empno, empname, deptno, and deptname. This is not normalized because the fact that a particular deptn and deptname go together can appear in multiple rows. Should deptname for a particular deptno change, it must be updated in more than one row (slide 4). Deleting an employee could result in the deletion of a department (slide 5). Adding a new department can result in a malformed row (slide 6). These are referred to as update, deletion, and insertion anomalies.Slide 7 shows the normalized version. The anomalies are eliminated and the original data can be recovered by joining the tables. If many queries are performed, performance may suffer. If many updates are performed, there may be a performance gain. Most importantly, the normalized version represents the true nature of the data.
Let’s review some basic notions about relational databases. A table (relation) contains columns (attributes) that belong together because they are somehow related. Each row of a table (relation) is unique. No two rows(tuples) are identical. The key is defined as the column(s) that can be used to tell one row (tuple) from all others. This is a sticky point. We tend to want the key to identify the data we are searching for. This is not always the case. Foreign keys are used to form relationships with other tables (relations). We can say that the key determines the non key elements or the non key elements are functionally dependent on the key. In simpler English, the non key columns or attributes should represent single valued facts about the key. This could mean one and only one employee first name and one and only one department name are associated with an employee number. It’s that simple, but you do have to understand the data. Is it true that one and only one department name is associated with an employee number? What about history (slide 14)?
The normal forms are rules for avoiding ill-formed relations. These rules can also be used to correct ill-formed relations – they are the don’ts – but why not do things right the first time if you can?
First normal form (slide 18) is achieved when there are no repeating columns or groups. Each non-key element must be determined by the key.
Second normal form (slide 20) is achieved when each non-key element is determined by the entire key. No non-key element should be determined by part of the key.
Third normal form (slide 22) is achieved when each non-key element is determined by the key and not by some other element which is, in turn, determined by the key. There should be no transitive dependencies.
Boyce/Codd normal form provides a rule for resolving a special case involving two or more composite overlapping keys. Since this doesn’t come up that often, we’ll gloss over it in this presentation.
The forms we’ve discussed so far deal with single valued facts. The two that remain deal with multi-valued facts. The connection between employees and skills might be an example of a multi-valued fact. Each employee may possess multiple skills and each skill may be possessed by multiple employees.
Fourth normal form (slide 24) prohibits storing two or more multivalued facts in the same table. There are problems with the key if this rule is broken.
Fifth normal form (slide 26) prohibits a misinterpretation of what is and is not a multivalued fact. If an employee performs a particular task on a particular project, this is really a three way relationship between employee, project, and task. Misinterpreting this as two or three two way relationships will result in the loss of information. It will not be possible to reconstruct the original facts by joining the tables. This is referred to as a lossy join situation. (I used to force my students to sit through an elaborate demonstration of this; I’ll just ask you to take my word for it.)
We can restate all of this in another way. A database is normalized if each non-key attribute in each table is determined by the key, the whole key, and nothing but the key.
We had some interesting discussion and questions about normalization. I’d like to reiterate my considered answer to a couple of the questions. It will always be beneficial to first discover the fully normalized form. Subsequently, some will feel they have valid reasons for creating surrogate or fake keys that are not actual data. These may, for example, make queries easier. If, however, you want to maintain data integrity and consistency, you will have to enforce uniqueness and referential integrity based on the keys identified by normalization. This might be accomplished by creating unique indexes or by creating database triggers. Using application code is the least desirable. We can say similar things about denormalization to achieve performance. I think I may have been more of a purist than I should have been during the presentation.
© Charlie Wertz, January 2013