My friend Liz has been publishing a daily series of vignettes on Facebook in honor of Women’s History Month. After seeing the beginning of the series, I thought “This is interesting, and moving, and important—and maybe I could do something like it.” After all, as the historian in my family, and the unofficial family historian, I know or have access to lots of stories about the many remarkable women in the family. As it turns out, though, among other things, it is not an easy task to go from information and stories to a tight vignette a single time, let alone multiple times—particularly when one is not prone to brevity So instead of my own series, I decided I would do one in-depth portrait of a special woman I loved and admired, who is, as you will see, the reason I can tell these stories at all, and who would have celebrated her 100th birthday this year. #WomensHistoryMonth (P.S. Thanks for the inspiration, Liz!)
Here’s to my great aunt, then-Lt. Dorothy Anna Ardisson, United States Army Nurse Corps (circa 1942),
who was born in rural western Pennsylvania east of Pittsburgh 100 years ago this August, the eldest child and only daughter of first-generation Italian- and Slovene-Americans;
who knew from a young age that she wanted to be a nurse, having seen WWI nurses and their long, flowing capes in pictures at her veteran relatives’ houses;
who, with the help of her mother, prevailed against her father (who believed girls did not need a high school education) and attended high school, graduating with high honors;
who, if my recollection is correct, taught her brothers how to drive;
who achieved her dream of becoming a nurse, graduating from St. Francis Hospital School of Nursing in Pittsburgh (after having first been turned down by another hospital for being too short!);
who, like her three brothers, then served her country in the Second World War, and who, desiring more action, sought a transfer that led to service as a nurse near Oran during the invasion of North Africa;
who, after the war, obtained a BS in nursing education from the University of Pittsburgh (and later a MA in education from the University of Michigan) and then became a head nurse and a professor of nursing at Mercy College in Detroit, where she taught for many years;
who, each summer for many years, welcomed her nieces and nephews for a week of fun and family in Michigan;
who enjoyed travelling to see relatives and friends, at home and abroad, with her best friend Kay or fellow combat nurse Lucia, among others, including visits to all 50 states, Germany, Cairo, and Baldissero Canavese, the village north of Turin from which her Italian grandparents emigrated;
who, through her gentle forcefulness kept the Ardisson family together when her brothers, in their stubborn forcefulness, were not speaking to each other;
who both nourished a love of history and genealogy in a certain grandnephew and also kick-started his research by sending him a workbook and handwritten notes containing information on her parents and grandparents, at age 12 (which in turn allowed him to collect much valuable information before his own grandparents and other relatives of that generation passed away);
who curated a collection of family photos and had the foresight to write down a brief history of both her and her parents’ lives, and persuaded her brothers and nieces and nephews to do the same, so that the history of the John Ardisson family would not easily vanish (which history I consulted heavily while writing this);
who, as matriarch of the John Ardisson family after the death of her mother, organized two family reunions in her later years, bringing the entire family together once again and thawing the relations between her brothers;
who helped reconnect the American Ardissons with their French and Italian cousins, and who passed on each new bit of family information that came in;
who was one of many who proudly contributed to the funding for the construction of the Women in Military Service for America Memorial (at the entrance to Arlington National Cemetery);
who, in her later years never stopped learning, teaching, and volunteering, including as a guide/re-enactor at Historic Hanna’s Town;
who was another example of just how small the world really is, as a granddaughter of the family with whom she lodged when she first moved to Detroit also was one of my college classmates;
who had made such an impression on her students that one drove several hours just to attend her viewing;
who, in her 91 years and 360 days, lived and worked as a single woman, carving her own path in a world which for many of those years was not quite ready for the idea of an unmarried career woman, and served as a quiet example to those of us who knew and loved her. ♥
In the midst of everything going on in 2016, I lost track of a birthday or two In addition to last year being my great-grandparents’ 100th anniversary in June, 2016 also marked two milestones-of-sorts for me: the 20th anniversary of my entry into web publishing (aka the 20th birthday of my website, al-Qāhira fī Amrīkā, “Cairo in America”) and the 10th anniversary of my attempt at blogging, (aka the beginning of this blog a decade later).
Inspired by the webpages of several of my former high school classmates, mostly then at Georgia Tech (which offered students free web space),1 on February 13, 1996, I staked a claim to a homestead in the Athens neighborhood of GeoCities, a then-relatively-new but increasingly-popular site offering free homepages for everyone. By the end of the year, GeoCities had expanded the number of neighborhoods from 8 (due to its increasing popularity, the limited number of “addresses” in the neighborhoods were filling up quickly) and my site was now deemed off-topic for Athens, necessitating a move to 3191 in TheTropics, the first of many moves al-Qāhira fī Amrīkā would eventually undertake. In those days, web-counters and guestbooks were popular (usually CGI scripts available on UNIX servers, but not often freely-available for those not on a university or commercial UNIX server), and before the end of 1996, al-Qāhira fī Amrīkā had both, thanks to new free (advertising-supported) services starting up. digits.net (formerly digits.com), which provides my web-counter, is still running 20+ years later, but Lpage.com had a tortured history, becoming GuestWorld, then being taken over by HTML Gear, which in turn was bought by Tripod/Lycos before finally being discontinued in 2012, so my guestbook is extinct.
Flash forward a decade, and in the mid-to-late 2000s, weblogs (blogs) and blogging were the rage, fueled by software that made publishing an ongoing log (or diary, or series of thoughts, or the like) on the web simple, hiding the complexity and eliminating the need to know and write HTML in order to publish on the web. The promise of easier, more-frequent updates appealed to me, as al-Qāhira fī Amrīkā had grown moribund. With that desire and inspired by my fellow Camino developers, and finally with real (paid) web hosting of my own, I installed WordPress and launched افكار و احلام (Afkār wa Aḥlām—“Thoughts and Dreams”—this blog) on November 1, 2006.
So I’ve now been “on the web” for two straight decades (at this writing, al-Qāhira fī Amrīkā has already had another birthday and is officially old enough to drink alcohol in the United States!) and blogging continuously (however sporadically) for a decade as well. Still, the title of my first blog post, “Detritus of the digital age,” seems apt. al-Qāhira fī Amrīkā proper hasn’t seen anything more than the most cursory update since the early 2000s, and its HTML code is hopelessly out-of-date. I’ve had grand plans for years (currently, for HTML5 and CSS, new photo galleries, and renovated poetry collections) that never seem to even get underway due to life, so I’m glad to have افكار و احلام for an “active” component of the site. While I doubt I’ll ever manage a return to the Camino-fueled blogging of my early days, I do continue to strive for more frequent posts—maybe I’ll manage a monthly post this year?
But I’m still here, still on the web and writing, so here’s a great big, albeit belated, “Happy Birthday” to the two bits and bobs of ether that put me on the web and have achieved those publishing milestones.
1 As I recall, it was Matt Billings who first taught me how to “look under the hood” with View Source to figure out how people had done things on their pages that I found interesting and wanted to recreate. ↩︎
Reply of the New Colossus
Your fear has made you tiny,
Your hate has made you weak;
Our love has made us stronger,
Our hope stands tall and defends the meek.
Your days are cloaked in darkness,
But in your nights, you will not sleep;
Our light shines the brightest;
It penetrates the deepest ratholes of your keep.
You have betrayed our birthright,
Sold our future to meet the mortgage on your debts.
We will not be silent;
We will rise with the truth to meet your threats.
Your lies are become baldfaced,
Your crimes recorded to be reaped;
The deluge of History is coming,
And in triumph, Justice will sweep.
“Give me your tired, your poor,
Your huddled masses yearning to breathe free,
The wretched refuse of your teeming shore.
Send these, the homeless, tempest-tost to me,
I lift my lamp beside the golden door!”
Venus and the crescent moon at sunset, Lawrenceville, GA, January 29, 2017
Today’s DealNews Apple (née DealMac) newsletter:
DealNews Apple newsletter, November 1, 2016
On the heels of September’s Android game as “today’s best Apple deal,” now we have a $300 Dell computer as the best Apple deal!? Fonzie, you can keep your shark.
A couple of years ago, Google decided that it was going to insert its own image proxy between your Gmail messages and any remote images referenced therein. Before this, if an email included an image that was not sent along with the email (an external or remote image), when you read the email, your web browser saw the image reference in the message and loaded the image directly from the source. Now, however, Google rewrites the email message to refer to the image via Gmail’s image proxy, which loads and caches the image from the original location, and when you read the email, your web browser loads the image from Gmail’s image proxy rather than the original source. There are a number of benefits to this approach, but there are also drawbacks—namely, new bugs.
Periodically, I receive an email to my Gmail account from Zacks, the large investment research firm, which contains a remote image that has spaces in its filename, e.g. “motm cash sidelines image_624.png” in Sunday’s email. Not only are there spaces in the image filename, but these spaces aren’t escaped or encoded when the image URL is inserted into the HTML content of the email:
<img style="width: 624px; height: 269px; float: left; margin: 0px 8px 0px 0px;" src="https://staticx-tuner.zacks.com/images/articles/thumbnail/motm cash sidelines image_624.png" alt=""/>1 It’s certainly not best-practices to include spaces in any part of a URL, nor to include such URL in HTML with the spaces unescaped/unencoded, but as we have long-since left behind the world of strict and restrictive DOS and UNIX filename conventions, it is not unexpected these days to see humane filenames and file paths on the web (and, anyway, every reasonable web browser and email client knows how to handle such cases properly).
This is what Gmail, using its image proxy to load the external image, displays:
This is what Mac OS X Mail displays when viewing the same email:
Finally, this is what a web browser (Safari, in this case, though any modern browser should display similarly) displays when viewing the HTML content of the same email:
Both Mail and Safari know how to handle image URLs with (unescaped) spaces in them, and they do so correctly. Gmail, and its image proxy, fail.
The end result of the Gmail image proxy’s involvement in my email is that I have to extract the (rewritten) image URL from the message, strip off the part referring to the image proxy, and then fix the proxy’s broken encoding of the spaces in the original URL order to have an image URL I can then feed back to my browser and have it load the image (in another tab). Then I have the privilege of switching back and forth between the email text and the image the text is discussing. It’s a pain, but manageable, for one image. If there are several images in the email, repeating the process each time becomes quite annoying.
Back to investigating the problem—this is the URL for the “missing” image in Gmail:
https://ci4.googleusercontent.com/proxy/k0FVMVoNhpmHkkXhL6u7S4wzeMzBpLic1ugVLVVM4u-oIK79_Yb7WdjqITdHi0swAcPIGtpPGAK3B_MzoSvG32IRc2E6my-AqwWfDUPCvKezzfDRKGY-Ki9R3JORGPAhydwzYdLH_uxX7lKB2VCT93w=s0-d-e1-ft#https://staticx-tuner.zacks.com/images/articles/thumbnail/motm+cash+sidelines+image_624.png (Google’s systems, e.g., Blogger/Blogspot, tend to use the strange, non-standard practice of escaping/encoding spaces in URLs with the plus sign, even though they percent-encode everything else.) Recall that the filename of the image on the Zacks server is “motm cash sidelines image_624.png” but that the filename shown in the URL in Gmail is “motm+cash+sidelines+image_624.png”, and then evidence of the problem becomes apparent. If the Gmail image proxy tried to request “motm+cash+sidelines+image_624.png” from the Zacks web server, of course that image is not going to be found!
Without knowing more details about how the entire process of scanning an email for external image references, fetching and storing (caching) them via the image proxy, and the rewriting the original email’s image reference to point to the image proxy instead, it’s difficult to tell exactly where the problem lies. For instance, if the part of the image proxy that does the fetching of the external image encodes the URL using Google’s “standard” encode-spaces-with-plus-signs method and tries to fetch that, it won’t find the image. If the fetching part properly percent-escapes/encodes the URL before fetching but stores the image on the proxy server either with its original filename or as the percent-encoded version (which would be “motm%20cash%20sidelines%20image_624.png” for those keeping track), but the rewriting part uses the plus sign-encoding when rewriting the reference in the mail message, things will be broken. (Though it seems ridiculous to have one subsystem do thing one way and another subsystem do the same thing another way, it’s probably not uncommon in large, complex software—I’ve seen things like that before—and may only fail in edge or corner cases that the developer or team might not consider.) Or, if for some reason the image proxy assembles the entire URL that is later found in the Gmail message and then encodes it (using Google’s “standard” encode-spaces-with-plus-signs method) when inserting it back into the email, and then only tries to fetch the image once I, or someone else getting the same Zacks newsletter asks Gmail to load images (or has automatic image loading turned on), it’s going to fail if it doesn’t first change the plus signs back to spaces (or percent-encoded spaces).
It’s hard to say exactly where the bug might be, but make no mistake, it’s a bug; it’s Google’s bug (and it is no doubt caused in part by Google’s use of a non-standard encoding mechanism—spaces escaped with plus signs—in their web software).
1 The content of the email itself is actually sent encoded as Quoted-Printable, to protect it from such gremlins as 7-bit mail servers, but that’s not relevant to this bug and so I have decoded the Quoted-Printable here to make the HTML snippet more readily understandable. ↩︎
Michael Tsai recently linked to Ricardo Mori’s lament on the unfashionable state of the Mac, quoting the following passage:
Having a mandatory new version of Mac OS X every year is not necessarily the best way to show you’re still caring, Apple. This self-imposed yearly update cycle makes less and less sense as time goes by. Mac OS X is a mature operating system and should be treated as such. The focus should be on making Mac OS X even more robust and reliable, so that Mac users can update to the next version with the same relative peace of mind as when a new iOS version comes out.
I wonder how much the mandatory yearly version cycle is due to the various iOS integration features—which, other than the assorted “bugs introduced by rewriting stuff that ‘just worked,’” seem to be the main changes in every Mac OS X (er, macOS, previously OS X) version of late.
Are these integration features so wide-ranging that they touch every part of the OS and really need an entire new version to ship safely, or are they localized enough that they could safely be released in a point update? Of course, even if they are safe to release in an update, it’s still probably easier on Apple’s part to state “To use this feature, your Mac must be running macOS 10.18 or newer, and your iOS device must be running iOS 16 or newer” instead of “To use this feature, your Mac must be running macOS 10.15.5 or newer, and your iOS device must be running iOS 16 or newer” when advising users on the availability of the feature.
At this point, as Mori mentioned, Mac OS X is a mature, stable product, and Apple doesn’t even have to sell it per se anymore (although for various reasons, they certainly want people to continue to upgrade). So even if we do have to be subjected to yearly Mac OS X releases to keep iOS integration features coming/working, it seems like the best strategy is to keep the scope of those OS releases small (iOS integration, new Safari/WebKit, a few smaller things here and there) and rock-solid (don’t rewrite stuff that works fine, fix lots of bugs that persist). I think a smaller, more scoped release also lessens the “upgrade burnout” effect—there’s less fear and teeth-gnashing over things that will be broken and never fixed each year, but there’s still room for surprise and delight in small areas, including fixing persistent bugs that people have lived with for upgrade after upgrade. (Regressions suck. Regressions that are not fixed, release after release, are an indication that your development/release process sucks or your attention to your users’ needs sucks. Neither is a very good omen.) And when there is something else new and big, perhaps it has been in development and QA for a couple of cycles so that it ships to the user solid and fully-baked.
I think the need not to have to “sell” the OS presents Apple a really unique opportunity that I can imagine some vendors would kill to have—the ability to improve the quality of the software—and thus the user experience—by focusing on the areas that need attention (whatever they may be, new features, improvements, old bugs) without having to cram in a bunch of new tentpole items to entice users to purchase the new version. Even in terms of driving adoption, lots of people will upgrade for the various iOS integration features alone, and with a few features and improved quality overall, the adoption rate could end up being very similar. Though there’s the myth that developers are only happy when they get to write new code and new features (thus the plague of rewrite-itis), I know from working on Camino that I—and, more importantly, most of our actual developers1—got enormous pleasure and satisfaction from fixing bugs in our features, especially thorny and persistent bugs. I would find it difficult to believe that Apple doesn’t have a lot of similar-tempered developers working for it, so keeping them happy without cranking out tons of brand-new code shouldn’t be overly difficult.
I just wish Apple would seize this opportunity. If we are going to continue to be saddled with yearly Mac OS X releases (for whatever reason), please, Apple, make them smaller, tighter, more solid releases that delight us in how pain-free and bug-free they are.
1 Whenever anyone would confuse me for a real developer after I’d answered some questions, my reply was “I’m not a developer; I only play one on IRC.”2 ↩︎
2 A play on the famous television commercial disclaimer, “I’m not a doctor; I only play one on TV,” attributed variously, perhaps first to Robert Young, television’s Marcus Welby, M.D. from 1969-1976.3 ↩︎
3 The nested footnotes are a tribute to former Mozilla build/release engineer J. Paul Reed (“preed” on IRC), who was quite fond of them. ↩︎
Today’s DealNews Apple (née DealMac) newsletter:
DealNews Apple newsletter, September 22, 2016
Really!? I know that DealMac hasn’t been what it was a decade ago, or even five years ago, for a while now—a definite shadow of its old self1—and that many Mac users may have Android phones, but, really, Android games are the best/most relevant Apple-related deal for the day? I find that extremely difficult to believe.
1 After reading the “new” DealNews Apple-format newsletter for a while after the changeover last year, I sent their feedback system a list of a half-dozen or so suggestions on how they could improve the newsletter experience and make it easier to see/find relevant deals. Needless to say, none of the suggestions have been implemented. ↩︎
One of the rules I’ve used […] is not to argue with “I bet lots of people are like me and want feature X,” but instead say why you specifically want feature X, or why you’d prefer some behavior or design change.
In other words: instead of just asserting that a thing would be better or more popular if done a different way, tell a story with details.
Maybe that’s not right for every beta test, but that’s what works for me. I like stories. A single person can convince me with a good story.
Brent has written about this point before, in the “Tuesday Whipper-Snapping” section of How to manipulate me (or, Tuesday Whipper-Snapping),1 but it’s an important point that bears repeating: when you are a user trying to explain to a developer/QA/support that you’d like feature X or think feature Y would work better in some other way, tell us why. Tell us what you’re trying to do, why you’re trying to do it. As Brent says, tell us a story, with details, about what you need/want to do with the software.
First, as the quotation above indicates, a good use-case (“story”) can often convince the person/people behind the software right off the bat of the importance and/or awesomeness of your proposed feature. Second, as Brent mentioned a decade ago (!) in the discussion of Exposé in “Tuesday Whipper-Snapping,” your story is important because it may lead to the developer(s) devising a new or easier or more clever way of helping you to accomplish your task, rather than the specific implementation you may have conceived yourself.
So, tell us stories about what you hope to do.
1 Which I’ve linked to before in my compilation of great “Brent Simmons on software development for end-users” articles. ↩︎
For some time, I’ve been meaning to start a series of posts that outline software/website issues I run across on a daily basis (because I *do* run across buggy or poorly designed software/websites on a daily basis), in part in an effort to blog more often, but also to shine the light on what we as technology-using people deal with on a daily basis. It’s taken me a while—blogging is hard , and so is documenting and writing a good bug report—but herewith the first entry in Your Daily QA.)
The National Geographic Society, in partnership with the National Trust for Historic Preservation and American Express, has been running a vote to divy up $2 million in funding to help preserve or restore various sites in National Parks: #VoteYourPark.
It’s a lovely site and a nice idea, but there are a couple of wonky implementation details that routinely drive me crazy.
When you try to sign in using your email address, the sign-in form doesn’t work like a typical form. In most forms, pressing return in a text field will submit the form (or trigger the default button), and if you’ve been using the web on the desktop for a long time, you have finely-trained muscle memory that expects this to be true. Not for this form, however. Even worse, the “button” (it’s really a link camouflaged by CSS to look like a button) isn’t in the tab chain (or at least isn’t in the tab chain in the right location), so you can’t even tab to it and trigger the form via the keyboard after entering your password. Instead, every single day you have to take your hand off of the keyboard and click the “button” to log in.
The fun doesn’t end with the sign-in form, though. After you’ve voted for your parks, you have the opportunity to enter a sweepstakes for a trip to Yellowstone National Park. To do so, you have to (re)provide your email address.
In this form, though, pressing return does do something, because instead of being offered the opportunity to enter the sweepstakes, pressing return shows this:
It appears that you have lost your opportunity to enter the sweepstakes as a result of pressing return to submit the form. (If you close the message and then look closely at the area of the page that originally contained the sign-in information, there is a link that will let you enter the sweepstakes after the voting procedure is complete, but it’s fairly well hidden; I didn’t find it until muscle memory in the form submission had caused me to miss several chances to enter by triggering the above screen.)
There are other annoyances (like the progress meter that appears when loading the page and again after logging in), but they’re minor compared to breaking the standard semantics of web forms—and breaking them in different ways in two different forms on the same page. By all means, make your form fit with your website’s needs, but please don’t break basic web form semantics (and years of users’ muscle memory) in the process.
Wedding portrait of John Ardisson and Mary Julia Adamic
Delmont, PA ⚜︎ June 15, 1916
One hundred years ago today, June 15, 1916, in the Reformed Church Parsonage in Delmont, Pennsylvania, John Ardisson and Mary Julia Oswald were married.
John, born May 2, 1894 in Export, PA, son of Stefano Serafino Ardissone (himself born September 2, 1862 in Baldissero Canavese, Torino, Piedmont, Kingdom of Italy) and Maria D. Silva-Pramone (born January 30, 1865, also in Baldissero Canavese) was 22 years old.
Mary, born January 9, 1900, in Thompson Run, Allegheny County, PA, daughter of Anton Osvalt (himself born January 10, 1865, in Novicote(?), Slovenia [Duchy of Carniola], Austrian Empire) and Mary Adamic (born August 15, 1874 in Ribnica, Slovenia [Duchy of Carniola], Austria-Hungary) was 16 years old on her wedding day.
John and Mary would go on to raise four children, Dorothy Anna, Edward Stephen, Gerald John, and Eugene Anthony, all of whom served their country in the United States Army (Nurse Corps, Air Corps/Air Forces, Artillery) during World War II, and who would return home safely and begin the rest of their lives. There would then be nine grandchildren, and, though neither John nor Mary would live to see all of them, nineteen great-grandchildren, and, finally, at last count, fifteen great-great-grandchildren. John and Mary were married for 59 years, until his death on October 28, 1975.
The picture in the frame was taken on that wedding day, 100 years ago today, with a camera that was no doubt 100 times larger than the one used today to take this photograph of it. Happy 100th Anniversary, Grandma and Grandpap Ardisson!
Announcement of the fiftieth wedding anniversary of Mr. and Mrs. John Ardisson
The News-Dispatch (Jeanette, PA), Friday, June 3, 1966