I’m back, for now, I think

In case anyone noticed that this blog has been down for a little over 3 months, it was because I logged in on my birthday and saw something that made me think the AWS EC2 instance that this runs on was hacked and the instance was busy mining bitcoins for someone else. I don’t think that they would get many bitcoins from an EC2 t2.micro, but I guess they were trying anything that they could get. I shut down the instance and left it for the past few months. Today, I finally took the time to look at it and decided to bring it back up and see what happens. Before I brought it back up I created a new instance, detached the disk from the old instance and attached it as a second drive to the new instance where I glanced briefly at the logs to see if I could see anything that looked bad. I didn’t, so I just made a snapshot of the drive, then re-attached it to the old instance and started it up. After logging back in and updating the SSL certificate I was able to bring this blog back up.

I’m not sure when I’ll take the time to write anything else, but I will keep a closer eye on this blog and if I see any more signs of hacking it will go away for another while.

All the best,
Ari

Metropolitan Diary

The NY Times finally published on Sunday, July 12, 2020, the submission I made to their Metropolitan Diary column on May 15, 2019. They edited it so I will provide here both my original submission and their edited version so you can decide if they removed anything of interest or if, as Tony often told me, I was too wordy.

My initial submission:

DEAR DIARY:
It was the spring of 1974, before CitiBike and the multitude of cyclists and protected bike lanes which now exist in the city. I was riding home from Central Park early one morning when I stopped at a red light at 57th St and 6th Ave (yes some cyclists do stop at red lights). A delivery truck from H&H Bagels pulled up next to me at the light. As is common with those delivery trucks, the passenger side door was open so I looked up at the driver and said hello. He said hello and then reached into a bag by his side and handed me a fresh bialy out of the truck. Only in New York.

The version as they published it:

Dear Diary:

It was spring 1974, and I was riding my bike home from Central Park early one morning. I stopped for a red light at 57th Street and Sixth Avenue.

As I waited for the light to change, a delivery truck from H&H Bagels pulled up alongside me.

I looked up at the driver and said hello. He said hello. Then he reached into a bag by his side and handed me a fresh bialy.

Of course they did include a nice illustration with it:

Crazy Conspiracy Theories

I’ve thought of a few crazy conspiracy theories which I’m expecting to see floating around the Internet soon. Please don’t spread these yourself as they are not true, they are simply the result of my warped sense of cynicism.

  • Trump had the novel coronavirus (Covid-19) released in Seattle to force the Fed to lower interest rates. He’s been after the Fed for a long time to lower the rates for a long time. Also, how else could the virus have gotten from Wuhan in China to a nursing home in a Seattle suburb.
  • Elizabeth Warren’s campaign is being funded by the Democratic establishment in order to take votes away from Bernie Sanders. Why else would she still be in the race when she has had such a lack of success in the primaries? Of course, some people might say that she is being funded by the Republicans (or even the Russians) to mix up the Democratic nominating process, but I don’t go quite that far.

As I said above, please do not repeat or spread these ideas. I’ve made them up with absolutely no evidence

Diversity frightens SWMs

If you’re not sure what I mean by SWMs, check out my last blog post. Back in the “good old days” movies and television were for the most part made by and starring straight white males. Of course there were a few exceptions but for several decades people of color and LGBTQ people were rare in the entertainment media, although there was a veiled hint that the villains in “The Maltese Falcon” might have been gay. Now you are hard pressed to find any recent TV series or movie which doesn’t prominently feature these people and that reality can be disturbing to people who aren’t used to it. I certainly don’t feel disturbed by this trend, but I suspect that it is fueling the rise in white-supremacy feelings and the support of Donald Trump. I’m afraid that many people see life as a zero-sum game so the more that others not like them are visible, the less they become visible and the more vulnerable they feel. The fact that this country is becoming a majority of minorities and people of color is frightening to some people who forget that this continent was originally inhabited by people of color.

Enough of my ranting for today. As always, comments are welcome.

Archie Bunker is alive and supporting Trump

In my last blog post I wrote about Trump promising to run the government as a business. A reader (my only one?), asked why people would want someone who had a history of bankruptcy running any business, let alone running the federal government as a business. That’s a good question, which I have actually asked in the past. I guess the answer is that people didn’t really elect Trump to run the government as a business, they elected him to “Make America Great Again”. Their vision of the “great America” was not LBJ’s “Great Society” but was an earlier, more restrictive view of America. For almost the first 200 years of the United States it was governed by SWM (straight WASP males). Ok, maybe there was a closeted gay president at some point, but that wasn’t taught in my American History courses. I’m old enough to remember the concerns that the Pope would run our government if we elected a Catholic president. The Catholic was elected and the Pope didn’t run our country, although the president didn’t get to live out his whole term so who knows what might have transpired.

I think Trump’s election was a result of some people wanting to go back to the “good old days” when SWM’s ran the country. We had just gone through 8 years of our first African-American president and the alternative to Trump was a woman. I’m not condoning this backlash (whitelash?) but that is what I have observed.

Other’s comments are welcome.

The Fallacy of running a Government as a Business

President Trump promised to run the government as a business. The problem with that is that the purpose of a business is very different from the purpose of a government. While businesses may make something, or provide some service, the primary purpose of a business, in our capitalistic society, is to make money for its owners. Trump seems to think that he and his cabinet/cronies are the owners of the business of government so they are out to get all of the money they can out of this government. On the other hand, the purpose of our government, as defined in the US Constitution is “form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defense, promote the general Welfare, and secure the Blessings of Liberty to ourselves and our Posterity”. I don’t see anything there about making money for the president, the congress or the cabinet.

The major problem with running the government as a business is that in most businesses there is a relationship between income and expenditures. That is, an increase in expenditures is usually connected to some expected increase in income, either through R&D or through increased production capacity. The income of government is not as directly related to its expenditures. The expenditures are for general services which the government provides such as education, policing, sanitation etc. and increasing these expenditures is not related to any direct increase in government income. Ideally a government should run with a balanced budget, such that the income for any given period should cover the expenses for that period. Unfortunately that doesn’t always occur.

Ok, enough of my meaningless ranting for today. Does anyone want to comment about this?

Simple Sample SAML Service Provider Programmed in Python

Try repeating the title of this blog posting three times fast.
And if you think that is tough, try coding one. I haven’t been paid to write computer programs since I left the research faculty of the Albert Einstein College of Medicine back in 1986, so my coding skills could be a little rusty, although I have written lots of simple scripts, modified dozens of others in multiple languages and help programmers debug their programs in more languages than I can count, but more about that in another post. This one is a rant about Python.

I was first introduced to Python as a programming language in 2001, when my boss at Bear Stearns at the time (who shall remain nameless) promised the London research team that he would speed up the delivery of their research Emails. At the time we were using Sendmail with some intervening shell scripts to manage our outbound Emails and the London research team was sending their research out to lists of several hundred addresses. Since Sendmail in those days was single-threaded the first addresses in the list got the research fairly quickly (by the standards of those days). Unfortunately the owners of the lists didn’t always keep them clean and up-to-date, so there were often bad addresses or addresses with misspelled domains. Since Sendmail would try every MX server for a domain, or the A record for the domain if there was no MX records, then every bad address or domain would slow down the delivery to subsequent recipient addresses. By the time Sendmail got to the end of the list the timely research was often obsolete so our London research team, and their customers, were understandably upset. My boss’ solution was to obtain 2 Unix servers, powerful Solaris boxes at the time, download Postfix, Python and Mailman onto those servers, and then hand them over to me and resign from the firm. It became my job to put all this together so that the London research team, and ultimately several other Bear Stearns teams, could use these servers to send out their research in a timely manner.

Mailman, for those of you who don’t know it, is open-source mailing list manager software written in Python. The then current version of Mailman did not include “Real name” support for members which I see is now a feature of the current version, but our users required it, since they couldn’t be bothered knowing the actual Email addresses of their clients. That version also didn’t include the concept of a list member manager separate from the list manager, although we wanted our research people to be able to maintain their mailing lists without having any access to the other features of their mailing lists. Thus, I had to write an entire new user interface for the Mailman mailing lists which allowed the list owners to import/add/delete real names and Email addresses for their clients but which hid from them the other features of Mailman and their lists. Fortunately Python is an object-oriented language and the Mailman lists were nested objects so it was not too difficult to add attributes to the list objects for real names, and to modify the user interface to restrict what our list owners could do. Of course, first I had to teach myself enough Python to understand the Mailman source code and figure out how to modify it. That took a couple of weeks. As I recall the Mailman code was written in Python 1.5, so things have changed a lot since then, but that was my introduction to Python.

Fast forward to 2019, where I’m helping an old friend from BS with some software she is writing in Python and she determines that she needs to be able to do Single Sign On (SSO) using SAML for one of her customers. This being the era of Linux, open-source software and shared library modules I searched for a Python module that could be used as a SAML Service Provider. I found a few, but none had adequate documentation to just plug them in and most were designed for specific web frameworks. My friend was writing her code in Python 2, using a web framework written by another old BS alumnus which mostly outputs JSON and was unable to supply the 302 status which the browser needed for simple HTTP redirects to the SAML IdP. Also, this being 2019 and the last year that Python 2 will be supported (although I see that there are still some utilities which may not be Python 3 ready), my code had to work with Python 2, but be upward compatible to Python 3. I managed to get a working proof of concept (POC) for the code using Apache and Python 2 CGI, but it is still clunky.

Moving the code from Python 2 to Python 3 has been more of a headache than anticipated, mostly because of the change in the way strings are handled. Distinguishing between byte strings and Unicode strings is very necessary, but it becomes a pain to manage when modifying lots of legacy code. But that’s not my major complaint about Python. Maybe my complaint is just because I haven’t taken the time to understand the issues involved, but it seems that the method Python uses for locating system modules has evolved over the last 20 years in not always compatible ways. The latest idea, of every application having its own environment with its own set of library modules may make sense in these days of really cheap memory and storage, but is difficult for us old-timers who are used to having limited memory to work with. Here again I will save this for another post.

I’ve had several utilities which are coded in Python and which self-update, but which have been unable to find their modules since the default Python was modified from Python 2 to Python 3, even if they have their own version of Python in their environments. I’m not sure how to tell these utilities how to find the commonly installed modules, or how to install needed modules into their specific environments. I’m sure I will figure this out in the next day or two, but it would have been great if Python was able to do it by itself without forcing me to go through these contortions to make things work.

Enough minor ranting for now, but I did make some promises above for more posts in the future. I’m hoping to put together more, shorter posts. We’ll see if I can do that.
Thanks for reading this.

More about why I’m doing this

If I really knew why I was doing this I probably wouldn’t have started. This is more a learning experience for me than anything else. As I stated in the introduction to this blog, I really don’t think most people care what we’re making for dinner tonight, or where we stopped for drinks the other night, although I do have social media friends who often post what they plan to cook for dinner every day or who check in at every watering hole they stop at in an evening.

I recently read a book called Borscht Belt Bungalows : Memories of Catskill Summers. Some of you may know that my grandparents owned a bungalow colony where I spent most of my summers when I was a kid, so the title of this book looked interesting to me. Of course, my grandparents’ bungalow colony wasn’t in the “Borscht Belt”, it was closer to the city and easier to reach that the ones mentioned in the book. What surprised me a little about the book was that some of the stories in the book really interested and delighted me while others bored me almost to tears. I was trying to figure out what the differences are, but it wasn’t obvious to me. What I think is the situation is that personal memories, telling of unique incidents or memories which were specific to the author and his family were not as interesting as those more universal incidents which had a larger impact. Of course, that wasn’t always the case, so I’m not sure what makes some personal memories more interesting than others. If anyone has any ideas about that, please post your comments here.

I’m thinking I should go to shorter, more frequent entries for this blog. I’ll see if I can do that, so come back and check for new posts regularly, or subscribe (if there is a way to do that).

Bowling and the fountain of youth

I’ve had a complaint that this blog is too “techy”, but I think that’s what more people would be interested in than my life. Does anyone, outside of my teammates and a few immediate family members, really care that my Monday night bowling team took 3rd place in our league this week, or that my Wednesday night bowling team took 1st place in the league last week?Yes, I bowl in a ” coed, young professionals, social” bowling league. I had to lie about my age to join, because the pull-down for the year of birth didn’t pull-down far enough for me. I guess they didn’t believe that anyone older than 55 could lift a bowling ball. I teased the league about that so much that they have since re-written the entire website for the league so now I have revealed my actual age on the website, but many other features of the new website, like “Past Leagues”, no longer work so I can’t say exactly when I started bowling with them. The old website also used to Email “virtual” trophies to anyone who broke 100. The new website is more geared to mobile devices than desktops, which is understandable in this age, but I really miss the Emailed trophies.
Here is a totally unsolicited, and unpaid, plug for the league, www.betteroffbowling.com, which hosts leagues in over 35 cities around the USA. I first started bowling with BetterOffBowling (or BOB as they sometimes refer to it) almost 8 years ago, when some of my coworkers at Morgan Stanley asked me to join their team. In the ensuing years all of the others have dropped out, but for some reason I have remained with them, often bowling in two different leagues in the same season, like the Monday night league and the Wednesday night league that both just ended. You’d think that after all these years of bowling pretty regularly that I’d get good at it, but you’d be wrong. I don’t think my average in the league has improved much after almost 8 years of bowling regularly. I’m still pleased when I break 100, which doesn’t always happen. Each league that I sign up for these days I create a team (usually named “Alley Oops” something) and then open it up to all of the “free-agents” and invite them to join me. Free-agents are what the league calls the people who sign up without having a specific team that they want to join, and they are often people who are new to the league. This is a way to meet new people, as well as to keep active and get out.

So what does all this have to do with the fountain of youth? I think back to the oral surgeon I went to when I was 10 years old to have an impacted lateral incisor removed. When I went to the first appointment I was chewing gum, which I seem to have done a lot of at that age. He had me spit out the gum and he then mimed putting my gum in his mouth, stating that this was the way that he stayed young. I think he was then about the age I am now, if not older, but was refusing to retire. I don’t think this is the secret to eternal youth, just as I don’t believe the stories where vampires have to drink the blood of youth in order to achieve eternal youth. On the other hand, I do believe that you are only as old as you act, so hanging out with younger people is my secret to staying young. Holly teaches an undergraduate class at NYU each year in order to stay around young people and it seems to work for her, too. Ryan always tells me that he hopes that when he reaches my age he’ll have half the energy I that I have. I’m just hoping that this world still exists when he reaches my age, in another 32 years.

Enough of this, now you see why I usually stick to “techy” posts, because my non-techy posts are boring. Still, I hope some of you found this somewhat interesting and I hope to expand on some of these thoughts, as well as posting some more techy and non-techy stuff, in the future.