Man With Dog

Tue, 05 Sep 2023

A One-Day Layover In Seattle

You only have a day to spend in Seattle before moving on; what to do? Here are some possibilities.

TL;DR: Pike Place Market & City Center in Seattle or Ballard & the Locks.

My wife and I lived in the greater Seattle, Washington, area for 14 years having moved there from Pittsburgh, Pennsylvania, before moving to Mobile, Alabama. Because of that, a friend asked, “We are taking an Alaskan cruise which sails out of Seattle. We want to spend a day in Seattle before we board… what should we do?” So, this article is written from my perspective as a non-native of the region and from that single requirement: just one day before a cruise.

Seattle is a city with a small downtown and a large, sprawling metropolitan area. While Seattle, itself, has a lot of offer, so do neighborhoods around Seattle as well as small towns to the north & south. There is no need to cross over the Cascade mountains.

If you are going to visit Puget Sound, I really recommend you go for 2 weeks, rent a car and really travel around a much wider area to explore not just Seattle but also the East Side of Lake Washington, Whidbey Island, Bellingham, Olympia, Tacoma, the Olympic Peninsula, and even Vancouver, BC. But that is not this article.

Back to Our Question

Most of the cruise ships depart from Smith Cove Cruise Terminal at Pier 91. This is just under 3 miles from Pike Place Market in Seattle. It is also just over 3 miles from Ballard, a quaint neighborhood north of Seattle. Sadly, there is not much between Ballard and Seattle. Pier 91 is nestled between two hills: Magnolia where there is not much to see or do, and Queen Anne Hill which has a vibrant night life with several live music venues.

Given the location of Pier 91, I would suggest exploring either downtown Seattle or Ballard. Pick one or the other; each area has a lot to offer for a single day. Then, depending on which area you choose, you should pick overnight accommodations in that area.

Ballard

Ballard is an idiosyncratic neighborhood with quirky specialty stores, coffee shops galore, great restaurants, in the summer, and a delightful farmers market on Ballard Ave just south of Market St. If you are not in the mood for tourist attractions (read: traps), Ballard is definitely the place for you. The two streets to focus on are Ballard Avenue and Market Street.

It would be easy to spend the day exploring Ballard with an added excursion west to the Ballard Locks or south across the Ballard Bridge to Fisherman’s Terminal.

And if you just want to hang out in a park, I recommend heading over to Gasworks Park which is on the other side of Fremont. The vista of Seattle at sunset is breathtaking.

Downtown Seattle

Downtown Seattle offers a wide variety of attractions that fit the requirement. These include

  • Seattle Center with the Space Needle, Museum of Pop Culture, Pacific Science Center, and events that happen regularly on weekends.

  • Pike Place Market This is a random collection of shops and seller booths between 1st Avenue and Alaskan Way (next item). Each block and area of Pike Place Market has a myriad of specialty shops, antique shops, produce, restaurants. I think it took us about 5 visits before we felt we explored the whole place. On the south end, you can sit for Japanese tea; in the middle, you can see the fishmongers throw fish about; and on the north end, arts and crafts booths. Remember there are several levels—-in every building—-so you definitely want to just wander about. Everything closes around 5:00pm so you’ll want to go early.

  • Alaskan Way Alaskan Way is at sea level (whereas Pike Place Market is about 4 stories above that). As you wander about Pike Place Market, you may find yourself going down to Alaskan way where you’ll find the Seattle Aquarium, antique shops, and other touristy things.

  • Seattle Art Museum On 1st Avenue, just 3 blocks south (and downhill) from Pike Place Market is SAM, the Seattle Art Museum. While not a large museum, they offer a varied and interesting collection of works.

  • Walking Tours If the weather is nice and you feel like walking, the Seattle Architecture Foundation offers guided walking tours. These are definitely worth the time. Seattle has a rich history of novel architecture.

    Or, you can stop in to Metsker’s Maps on 1st Ave and Pike, and pick up a walking guide book of Seattle.

As I said, lots of attractions. However…

Downtown Caveats

Visiting Seattle does not come without some serious risks. If you visit downtown, try to be very aware of what is happening around you at all times. Do not venture east beyond 1st Avenue. 3rd Avenue and Pine Street is overrun by drug dealers and vagabonds. It is now known as a war-zone; I’m not even sure if the police patrol it any longer.

The main problem is the overwhelming numbers of vagabonds that infest the city. Please do not call them homeless—-they have been offered homes and most of them have refused, preferring instead to live out their drama on the streets. Sadly, there is a great deal of money being spent on this situation with little result.

Also, avoid old Pioneer Square at night; in fact, avoid most of downtown after 5:00pm.

Getting around

For only a one-day adventure, I do not think renting a car would be worthwhile. You can take a train from the airport to Seattle and Ballard. There is also an extensive bus service.

Uber and Lyft are very plentiful and easy to get. Using them removes burden of parking. Some neighborhoods even have bicycle taxis where you are pedaled to your destination.

I believe you can also take a train/subway from Pier 91 to the Sea-Tac airport.

Weather

The cold arctic ocean current is a constant 50°F. This means that the local weather never varies by more than +/- 25°F. If it gets too hot, it’ll soon go back to 55°F. If it gets too cold, it’ll soon go back to 45°F.

Because of this constant variability around the ocean temperature, it is very difficult to acclimate to anything but that temperature. The weather changes too often. If you let yourself acclimate to it—-it takes about 3 days—-you will find it actually very comfortable.

Rain/Sunshine

There are only two seasons.

For about 9 months of the year, it will rain nearly every day. From the 4th of July to some time in October/November, there will be more or less mostly sun and hardly any rain. That is the dry season. Otherwise, it is the rainy season. Expect rain.

When it does rain, it tends to be misty or light. Rarely is there a heavy downpour. Note that it is also sunny for a bit almost every day. In the winter, it is cloudy and misty/rainy most of the day with short bouts of sun. As summer approaches, each bout of sunshine increases and the cloudiness decreases until the dry season begin. Then in October or November, the rainy season returns.

If you happen to be there in the winter and it snows, DON’T GO ANYWHERE! Seattle is not equipped at all for snow and Seattle-ites have no idea how to drive in it. You will see people do extremely dangerous and stupid things in such conditions. Just find a nice local tavern or coffee shop and enjoy a hot toddy or two.

Clothing

Because of the moderate temperatures and light rain, focus upon wearing layers rather than a single overcoat for each range of temperatures.

In the summer, a t-shirt or light top along with a long-sleeve shirt or anorak/light rain jacket would cover most situations. In the summer, it is unusual for temperatures to go above 80°F and not for very long if they do.

As it gets colder, add an undershirt under a long-sleeve shirt, a fleece vest, and a light fleece overcoat. I’ve actually worn those 4 layers in temperatures as cold as 25°F with only the addition of gloves and a hat. Most of the winters I spent in Puget Sound, I only needed 3 layers, and rarely wore the 4th top fleece layer.

Note: Down and down-filled outerwear, while warm and light do not do well in even light rain. This is why fleece is ideal in the Pacific North West (PNW).

As a bonus, the 4-layer fleece approach, with warm gloves, warm socks, a hat, and a scarf, will also work well for the colder temperatures on your voyage to Alaska.

Remember, too, that unless you come from a city like Chicago or New York, you are likely to walk a lot more than you are otherwise used to. Shoes with gummy soles or running shoes with thick padded soles would be best.

There is no need to dress up; everyone dresses fairly casually.

Culture

Seattle natives tend to be introverted and will tend to avoid any interaction with strangers. This will seem odd to anyone from, well, anywhere else. It’s not you. Really.

Southerners with their habitual politeness will likely fare much better than brash Yankees or loud Texans. And like most other places in USA, anyone from California already has two strikes against them; the natives are still smarting from the California invasion two decades ago.

Geography

Seattle is hilly. From sea level to about 200 feet in elevation. Some of these hills are steep, so don’t rush yourself walking these steep hills unless you are very fit.

What are we leaving out

  • Lake Union This includes a visit to Gasworks Park for a beautiful vista; Ivar’s Salmon House, especially for Sunday brunch—-of all of the Ivar’s, this one is our favorite; a seaplane ride over the city; renting an electric boat or kayak to cruise around the “lake”; hanging out in Fremont, a quirky but fun neighborhood; and the University of Washington.

  • Pioneer Square in the “old city”. This includes a visit Occidental Park and old Pioneer Square; an historical tour of “Seattle Underground” (don’t do this if the weather is nice); a walkabout in the International District; and taking in a baseball game or a soccer game.

  • Microbreweries There are excellent local microbreweries throughout the Puget Sound area. You could do just a microbrew tour of Puget Sound if that is your thing. At the same time, Seattle has a bevy of really excellent burger joints to complement your quaffing adventure. Two that come to mind are Two Bell Tavern in Belltown, and Lorreta’s Southwest Burgers near the Boeing Aerospace Museum.

  • Distilleries There are also a number of very good distilleries and whiskey bars throughout Puget Sound, again, if that is your thing. I no longer drink alcohol (that is another story for another time), but while you are quaffing beer, you could equally sip fine local whiskeys, ciders, and wine.

  • Restaurants Seattle is replete with excellent restaurant with a wide variety of cuisines: from standard American, fresh seafood, Japanese, Chinese, Brazilian, and a variety of Polish restaurants. Note that Seattle is famous for its teriyaki.

  • Lots of other stuff There are plenty of Seattle neighborhoods worth exploring, Capitol Hill, West Seattle, SoDo, Montlank area and the arboretum, the university district. And that’s just the Seattle side of Lake Washington.

Conclusion

I would like to emphasize not to overplan your day in whatever part of Seattle you choose. Let serendipity happen; you may discover things you never expected nor would any tour guide ever think to tell you.

One last thing, the air from the prevailing westerlies over the ocean can be amazingly crisp and fresh. You may notice this immediately when you get off the plane. You will certainly notice it on your cruise. Pay attention to that—-it is one of the only things I truly miss about the PNW.

posted at: 17:59 | path: /Travelling | permanent link to this entry

Thu, 31 Aug 2023

From C to … where next?

C is still a great language. Here we examine some viable successors.

TL;DR: Rust, Zig, and ObjFW.

The C programming language was the 3rd programming language I’ve learned—-and that was over 4 decades ago. The first two languages I have essentially forgotten and will never use again: BASIC and Pascal. To be honest, after learning C in university I actually forgot it since I was steeped in a quite different language for my day job for nearly a decade.

As luck would have it, I not only relearned C but also learned C++. I mostly learned C++; I learned just enough to get done whatever was needed; it is a beastly language.

In fact like most programmers, I largely used C++ as a better C. Then C got better.

After more than another decade and I no longer needed to write programs in C++, I very happily jettisoned it. I will not re-acquire it, no matter how many gyrations the C++ committee puts it through. With each gyration they attempt to make it a more something language—-more streamlined, more expressive, more I don’t know what. They do improve some things but then introduce other kludges features—-just too much syntactical strychnine. There is now so much baggage that C++ is beginning to approach COBOL or Ada. COBOL evolved where you could do nearly anything and everything with it… in thousands of lines of stultifying code. Ada was designed to be absolutely everything for every possible usage and therefore could do nothing well or fast. Yet, we keep hearing the incessant bleats, “C is too hard! Pointers! Waaa!”

Then I learned Objective-C. It is C with a few simple syntax additions. Suddenly you have objects and methods. It was influenced directly by Smalltalk where the focus is upon messages, and not all of that other OOP gobbledygook in other OOP languages. The Smalltalk environment has great limitions. Objective-C has a different set of limitations; one is you will only find a viable programming environment for it on macOS. Forget about iOS and the other inhabitants of Apple’s walled garden; they want you to use Swift and only Swift. Swift was billed as a systems programming language but nearly 10 years later very little of any core OS is written with it. Oh, and they just introduced macros in Swift. <sigh>

Aside: The C preprocessor is the one facility of C that I truly despise.

Back to C

Well, mostly. FreeBSD, OpenBSD, Linux (on just about every device), Raspberry Pi, and even Arduino still require C skills. So these things are keeping C alive after 50 (!) years.

The thing I like the most about the C Standards Committee is that for each version they follow a charter. The charter has evolved—-grown, not changed—-from the original to meet current needs. You can read the charter for C23 (née c2x). Note that at the time of this writing, most compilers currently only recognize the -std=c2x option and do not yet recognize -std=c23 even though many features of C23 are supported in current versions.

This charter thing is significant because it means C will continue to operate as C and not some new, improved, now with fizzle-gig gyration of C. There are myriad examples of languages that have gone off this cliff; consider the whole ongoing Python 2.x versus 3.x debacle.

C-Next

If you accept the proposition that C++ has failed as the next iteration of C, and I deeply believe it has, what are current the reasonable options?

I will simply state without going into details that I have a strong bias against Apple’s Swift and Microsoft’s C#. Both of these are vendor-driven technologies from vendors who have a proven track record of abandoning developers for the next new shiny thing. And beyond their walled gardens, they promise broader platform scope, but how long has this ever lasted from both of these companies. It’s just not in their charters.

I have come upon three different language trends that I believe are reasonable successors to C. Note: I think JavaScript is viable on the web but not elsewhere, and so we will leave it aside for now.

Let’s consider each of these.

Rust

Rust has been around since 2015. It is not C. It is not necessarily easy to learn.

Yet, in that time, it has garnered a lot of favor from developers as can be seen in the Tiobe Index and Stack Overflow Annual Survey.

Additionally, it is now officially supported in the Linux 6.1 kernel. That is a rather notable vote of confidence for this language. Furthermore, Rust is not only supported as an extension to an OS (Linux) it is also used to write new, experimental OSes. There’s also a tutorial to build a simple one. There are lots of similar systems projects when you start looking for them.

The Rust community is vibrant. It provides a great deal of resources for learning Rust and support for creating apps in Rust.

Zig

In a recent chat with Mark Dalyrmple of CocoaHeads fame and author of Advanced Mac OS X Programming, among other works, he mentioned Zig as a C-like evolution of C. He’s always good for that kind of thing, as in, “Hey, lookee at that thingee over there…”

The syntax looks simple and clean. It has objects. It already runs a bunch of places.

Okay, that’s enough to get me interested.

ObjFW

The main problem with Objective-C today is that it only, or largely only, runs on Apple platforms. Then, this article surfaced via OSNews. ObjFW promises to give new life to Objective-C on more than just Apple platforms.

I am rather excited by this development because I really like Objective-C. I wrote a desktop clock application with it and very much enjoyed the experience. That was about the time Swift was announced.

Sadly, I’ve let that app languish. But now with ObjFW I can see a way to not only escape from the clutches of Apple but also port this app to other non-Apple platforms. Writing/porting my Objective-C app to Linux/Wayland is now a real possibility. I don’t know when that will happen but it is back on my list.

Conclusion

Will these languages replace C? I think not.

Or, at least, not anytime soon. The market is fickle. Programmers are even more fickle. What is the new, shiny today may no longer hold any interest tomorrow. To be clear, these languages will have to get well beyond the new, shiny phase to displace C. That day is coming… but nobody knows when that will be; that day seems to be too far off over the horizon.

C grew out of a practical need for a portable systems programming language. It was originally intended to be used by and for experienced systems programmers. It has grown to be used in many other areas: scientific computing, application development, and the web. However, C still requires a level of awareness and skill to create feature-rich and robust programs. Even with that, C has become a model for many other languages: C++, C#, JavaScript, Objective-C, and now Rust and Zig.

I do think these languages will provide vibrant and stable development environments for picking up where C is weak or falls down. I am looking forward to deeply learning each of these languages to see if, in fact, they will fullfil their promise as the next iteration of C.

Mobile, Alabama
August, 2023

posted at: 12:01 | path: /Computering | permanent link to this entry

Mon, 07 Aug 2023

Beautified!

With the power of CSS (and quite a bit of hacking).

I going to tinker a bit more with the layout and formatting of the various pages until either (a) I am completely satisfied—-unlikely—-or (b) I just get fed up with wrestling with HTML and CSS an then move on to other things.

The site structure is starting to take some shape. Once I complete the tinkering, I’ll move on to site organization.

Basically, the site will be divided into two parts.

  • The Jeffie Part there will be stuff for me… probably lots of stuff.

  • The Wiffie Part this will mostly be her quilt works and other projects.

So, there will be a landing page, a “home” page for each of us, and then the whole organizational mess underneath that.

I’m hoping to capture many of the stories/lessons/experiences I find myself repeating to people I meet. I’ll try not to blather. And if I organize my blog adequately, useful topics should be easy to find. As always, time will tell.

posted at: 12:01 | path: /About this Blog | permanent link to this entry

Sat, 05 Aug 2023

Twiddle, Tweak, and Frob(nicate)

I’ve had enough of this messing about with HTML and CSS for today. So tedious, so cumbersome. I really wish CSS and HTML had a built-in macro-preprocessor, much like C does. That way you could set things in a very consistent manner across a wide variety of HTML properties. Sure, there are HTML preprocessors out there; yeah, I know. But that’s just another step in the process, another layer in the stack, and really just another set of gunk to wade through when things don’t go as expected.

This, then, is the look for the site: colors, fonts, sizes, general layout. This layout should work well enough on full screens as well as tablets and on little phones. Maybe later—-much later—-I’ll attempt to minimize the CSS so it’s much cleaner.

Now I can focus on the overall organization of the site. Once I do that that, then I can figure out which bits of Blosxom will generate static pages (once and done) and which bits will have to be dynamic. Ideally, this can be done in an obvious way so that 6 months, 1 year, 5 years from now, I can reproduce what I’ve done—-exactly like leaving good comments in source code. So expect a bunch of mucking about with the site as it might go through some real gyrations as I figure things out.

Until I get to the final, or near final, organization, these blog posts are going to be more blather than I otherwise would want. Sorry for the blather. Ultimately, these posts will end up in the Colophon.

posted at: 12:01 | path: /About this Blog | permanent link to this entry

Fri, 04 Aug 2023

Lions and Tigers and Bears, Oh, My!

As I consider the development of this blog, I am at somewhat of a crossroads. Which technologies to use: Perl *gasp!*, PHP *gasp!*, node.js *gasp!*, Python *ugh*, or some “snazzy-whazzy” blog framework *barf*.

For each of these technologies, there are as many proponents as there are opponents.

So I’m going to go “first principles”: what do I really need and then how do I get there.

Here are some needs:

  • Dynamic web pages: no. My web host has deprecated Perl—okay, that’s their decision—so plan B is to go with static ent pages.

    Static pages will be fine. These I’ll generate on my local machine and then “data cannon” them up to my web server, UltraWebHosting.com

  • Comments and user feedback: no. Enabling this capability would require far too much moderation and would open my site to the sewage slough of bots, scammers, etc. that is the current internet.

    The simple solution is that if you have something meaningful to add, email me your comment and I might consider adding to the post.

  • Flexibility. Yes. Right now, this blog is stupifyingly simple. But I have much bigger plans and I need most of the features Blosxom provides, especially, categories and what they call flavors.

  • “Security”/”performance”/”ease of use” of *blah-this* or *blah-that* or that new technology: No. If I go with purely static pages with some client-side JavaScript sprinkled in, I don’t think I’ll ever need them. Time will tell.

    Sure, security and performance will always be concerns but with static pages, these concerns are greatly mitigated.

  • Is any one of current web technologies more secure or more performant or easier to use? I don’t think so. Perl can be made more secure, especially since Perl 5. PHP is not inherently secure and sloppy practices can make is much less so. For my needs, none of them will perform significantly better than the other—my needs are just too small. (Remember in Big-O analysis, when n is small, complexity of the code is more significant.)

    The other thing that concerns my about any new or “emerging” technology is that the hype for them is driven largely by marketers—they just don’t tell you enough to make an informed decision about them. So you end up spending a LOT of time learning the gizmo only to find out later that “oh, we’re still working on that feature” or something like that.

  • Cost: definitely no.

  • Focus on content: definitely yes. On the web, “content is king.” This was true when the web was new and despite all the glitzy graphics, shading effects, whatever, this is still true today.

    Once I get things set up, I will have succeeded if adding new content is both straightforward and fast. Ideally, the process can be automated.

So here we are.

posted at: 12:01 | path: /About this Blog | permanent link to this entry

Thu, 03 Aug 2023

The very next day …

There are a few things that appeal to me about Blosxom. These are

  • file-based entries. Each blog entry is a file. I like this because I can have have several topics I’m working on/thinking about in separae files. When one is “done,” it only needs to be moved to the proper directory on my web server and voila!, there it is.

  • dynamic and static. Out of the box, Blosxom is a dynamic file processor/html generator. As I learn Blosxom I’ll likely move more an more of the content from dynamic HTML to static HTML pages. I suspect it’ll be just another step in the process.

  • simple. The simplicity of Blosxom appeals to me as a developer. It is very similar to the source, build, run approach for developing programs. I am also fond of the way Blosxom takes the details of HTML out of the process; these are details I tend to obsess over, which means waste time over. I hope today to add a Markdown plugin which will make creating posts nearly completely eliminated the need to use HTML markup.

  • extensible. The simple plug-in facility makes Blosxom seem highly extensible. And with the careful use of CSS, JavaScript, Perl/PHP, and embedded HTML, Blosxom currently feels unbounded. Experience will tell.

  • flexible. With the ability to mix static and dynamic pages, markdown text and HTML tags, the variety of plug-ins gives me the feeling of enormous flexibility. With experience, I anticipate the feeling turning into actual knowledge.

I found this article about Blosxom: Less Is More about his use of Blosxom and subsequently the site Jason Blevins that he created with it. Lovely. This is the direction I intened to take my site.

Please stand by as we adjust the dials…

posted at: 12:01 | path: /About this Blog | permanent link to this entry

Wed, 02 Aug 2023

Hey, there’s a ‘blog here!

So, today, I have finally gotten around to installing a web logger, called Blosxom (pronounced “blossom”). Each entry is a file, which is a feature I particularly like.

There’s a bit more to do, such as formatting and adding more content; so please stand by.

More to come…

posted at: 12:01 | path: /About this Blog | permanent link to this entry

powered by blosxom