Category Archives: Personal

Typing Out Art

I already wrote about how my typing teacher, Mrs. Cohen, was a genius for telling us (in 1983) that we needed to learn how to type to work with computers. Another thing she did was have us make pictures by typing. She’d read out of a book with instructions: “10 spaces”, “2 semi colons”, “30 periods”, “4 dollar signs”, etc, etc. It would take the whole class and then we’d get a picture of JFK.

This came to mind yesterday after I started a new meetup group for Sarasota Software Developers, and I had to come up with a banner image for the page. I was just going to use a photo of a sunrise with some palm trees, which definitely reads as “Sarasota”, but I also wanted it have some element of “Software Developer” in it. I was going to composite something together, but then I thought that someone must have made some kind of ASCII art generator. I was right.

I tried a bunch, and this one is the best: https://www.ascii-art-generator.org

Here’s what I made with it:

Green on black ASCII Art of palm trees at Benderson in Sarasota

It would have taken forever to type it out.

30 Plants for Dinner

I saw this post about eating more plants from Mike Crittenden today. One suggestion is trying to hit 30 plants per week. As a vegan, I can get near 30 plants per day, but tonight I made a 3 course dinner for my wife and a neighbor.

  1. Vietnamese style raw spring rolls in rice paper with 2 dipping sauces (peanut and sweet & sour)
  2. Sesame Tofu and Brocolli over cold sesame noodles
  3. Mango Pudding with Coconut Cream Panna Cotta Style

Here is the list of plants we ate:

  1. Mint
  2. Cilantro
  3. Basil
  4. Spinach
  5. Soybeans (Tempeh and Tofu)
  6. Carrot
  7. Rice (in the rice paper and noodles)
  8. Peanut
  9. Garlic
  10. Ginger
  11. Wheat (flour)
  12. Shallot
  13. Black Pepper
  14. Sesame Seed
  15. Scallion
  16. Celery
  17. Lime
  18. Maple Syrup
  19. Serrano Pepper
  20. Brocolli
  21. Sugar
  22. Mango
  23. Coconut
  24. Vanilla

There was also vinegar, soy sauce, hoisin sauce, and sriracha used in the dips and glazes. I use very little oil (tofu was made in an air fryer), but there was a little bit of olive and grapeseed oil. I’m sure I got to 30 plants.

If I was going for 30 plant ingredients, I’d have just added some blueberries and allspice to the dessert, dredged the tofu in corn starch, and added a few more plants/spices to the main dish (peas, turmeric, cayenne pepper, grape tomatoes).

If you’re looking for plant variety, look for vegan recipes, but even if you eat meat, I agree with Mike that you should add more plants and varieties of plants, which is easy to do if you are going for it.

July 2023 Blog Roundup

This month I kept up with my Podcast, mainly because I banked five episodes and then took a break

Based on my podcast, I wrote

I also used the Hacker News OPML file to add a bunch of blogs to my feed. This resulted in a bunch of posts

Taking a Successful Break

I just finished a break where I traveled for four weeks to see family and friends in places I used to live (in NYC and New England). My intention was not to completely stop working, but that all of my projects would become much lower priority.

Here are some things that worked for me.

  • Banking content: I didn’t want to have to write every day and podcast every week, but I did want to keep the publishing schedule going. To do that, I pre-recorded five podcasts before I left and wrote many blog posts. I still wrote quite a bit during the break and did have to edit and post the podcasts, but it was much less work than normal.
  • Setting expectations: Before I left, I made a podcast about how I was taking a break and what my strategy was. I also set meeting expectations with my partners and clients.
  • Having a generation strategy: To make it a lot easier to make five podcasts in a couple of days, I did a four part series about lessons I learned from Art & Fear.
  • Lowering the bar: My goal in each podcast is to share something that is helping me in my writing with a clear takeaway. If I had that, I didn’t worry about the length.
  • Shutting off sometimes: Part of my trip was meant to be a real vacation, and during that time, I completely shut off.
  • Prioritizing relationships: I never turned down a chance to see my family or friends and made sure that my wife and I had plenty of time together as well. Everything else had to fit in between that.
  • Having fewer obligations: I do more projects alone or in partnerships that are trying to build modest businesses that can withstand me being away from it. My client work is more advisory and easy to schedule.

As I spoke about in my podcast, I did this exact same trip in 2021 and it completely derailed me. I did not set expectations correctly with a client and had to do a lot more work than I wanted to. I had to pare back everything to just work I was obligated to do and then kept that pattern for more than a year until I could get control again.

This time, using the strategies above, I was able to have the break I wanted and also keep projects going enough so that I could easily pick them back up when I returned.

A Life’s Work

I just saw a retrospective of the work by the artist Gego at the Guggenheim in NYC. It runs until September 10, 2023 and worth a visit. Gego (Gertrud Goldschmidt) was a German-born architect/engineer who fled the Nazis and settled in Venezuela in 1939. She started making art in the 1950’s and was prolific until her death in the 90’s. The Guggenheim is dedicating several floors of the rotunda to showing the breadth of her work.

A photo showing several floors of the inside of the Guggenheim museum in NYC with Gego's work on display.

Many of her works are wire sculptures (or as she described it, sculptures of transparent space), but there were several other series on display as well. For example, there are watercolors she made to help plan her work, which also explored the reticular theme, but in a different medium. The other thing I noticed was how much of her work was either untitled, titled identically, or simply enumerated with a year and count. She was too busy making and exploring to stop and name everything.

As I descended the spiral, seeing so much of Gego at once, I couldn’t help think of the advice in Art & Fear to explore Thousands of Variations of an idea as an artist.

Following a Lot of Blogs in NetNewsWire

I use NetNewsWire as my RSS reader. It’s a locally installed app on my mac and iOS devices that uses my iCloud account to sync between them.

I have been following about a dozen blogs that generated a few posts a day. But, last week, I downloaded an OPML file with a list of blogs by HackerNews users. It has over 1,000 feeds in it.

Here’s my experience with dealing with that in NetNewsWire (NNW).

To start with, I made a new folder for the import. Once I started the import, NNW struggled to download all of the posts. When the progress bar was done, it appeared that many of the feeds had no posts. It didn’t give any feedback about what exactly was going on, but there were still hundreds of feeds and thousands of posts downloaded.

I started to go through them and delete any that didn’t meet my minimum criteria for a blog feed or were on topics I didn’t want to follow this closely.

I noticed that over time, NNW seemed to be downloading the feeds it had skipped during import, so it seemed to be auto-retrying periodically (probably just on its normal poll schedule).

There were far too many posts to ever read, so I just marked everything as read and waited for new posts. Every day there are quite a few, so this is what I have been doing.

  1. If I find a post I think I will like in a quick skim, I star it in NNW
  2. If I don’t want to read the post at all (usually because it’s way off topic for me), then I take a quick look at the feed and probably delete it.
  3. When I have time, I read the starred posts.
  4. I take a look at the feed of the starred post, and if it seems like I’d like to follow it more closely, I move the feed to a folder of curated HN blogs.
  5. I follow the curated folder closely. There’s been a lot of great content, and it’s giving me things to explore and write about (e.g. This raylib post with my first impressions)
  6. I check out the full list only when I have nothing to read (starring and deleting as appropriate)

Generally, I recommend NNW, but it does seem to struggle with 1,000+ subscriptions. However, it didn’t crash or completely fail, and does seem to be catching up. The benefits to me are that I can read offline and I don’t have to pay for a syncing service.

June 2023 Blog Roundup

WWDC was in the beginning of June, so did my usual posts about it

But, the Vision Pro was interesting enough to write about a few more times

I kept up with my Podcast and released every Sunday in June

In episode 23, I talked about how I pre-recorded five podcasts so I could take a break. So, at least I know that the next four will be on schedule in July.

I generally want to write about diagramming more. I am including visualizations in that general theme as well.

Finally, I generally write tips for working as a software engineer. Here are a few more

Knowing Assembly Language Helps a Little

I can’t say I recommend learning assembly, and I never really had to write much professionally, but knowing it has been helpful in giving me a mental model of what is happening inside a computer.

I started with assembly soon after I started programming in BASIC. In the eighties, all of the computer magazines listed assembly programs because that was the only way to do some things. Jim Butterfield’s Machine Language for the C64 was a classic.

In college, I used assembly in a few classes. In Computer Architecture we had to write a sort algorithm in VAX assembly, and in my Compilers course, we had to generate assembly from C (and then we were allowed to use an assembler to make the executable).

This was last time I wrote any significant amount of assembly, but in all of the time I worked in C, C++, Java, C#, and Objective-C, I found myself needing to read the generated assembly or bytecode on a lot of occasions. There were some bugs that I probably could have only figured out this way. Knowing how different calling conventions work in C on Windows was part of my interview at Atalasoft (and it was actually important to know that on the job).

So, if you have any interest in it, I would try it out. The main issue is that modern instruction sets are not optimized for humans to write. But, I learned 6502 assembler on a C64, and if you learn that then you can get into the wonderful world of C64 Demos.

The Second 13 Weeks

At the beginning of the year, I wrote The First 13 Weeks which summarized how I usually set up the first 13 weeks of the year. I am using a Recurring Journal that I designed using Page-o-Mat to run my daily tasks and help me reflect on the year as it progresses. We are almost at the end of the second 13 weeks of the year, so I wanted to give an update.

I build my schedule around weeks, which is why I use 13 week periods instead of months or quarters. They do line up pretty well since 4×13 is 52 and 52×7 is 364. In 2023, I treated Jan 1 as special day, and started the recurring part of the journal on Jan 2, which was a Monday.

The first two pages of the journal show Mondays Jan 2, April, 3, July 3, and October 2, which are exactly 13 weeks apart. In the first 13 weeks, I filled out the top-left quadrant of each page, and this “quarter” I am working on the bottom left of each page. But I can see the day exactly 13 weeks ago. I take time to reflect on that day and notice progress. Since the days that are shown together are always the same day of the week, they are usually comparable.

Doing this motivates me to journal because I know that I will be revisiting each day. There is an empty space waiting to be filled, and I don’t want to come back in a few months and see it still empty.

I have been journaling for many years, but most years there are gaps, usually in the late summer. I seem to have the most energy in the beginning and end of the year and drop journalling for a bit around August. This may yet happen in the 3rd 13 weeks. I’ll check in then to see how it’s going.

My Typing Teacher was a Genius

When I was in middle school, typing was a required subject. I don’t really know why.

In the early eighties it was not common for people to type at work. There were still specialists for that. Even in the late eighties when I worked in an accounting office and there were secretaries that took dictation and typed up memos. Computer spreadsheets existed, but the accountants there still used pencil and paper and secretaries typed them up if they needed look more formal.

This was the world my typing teacher, Mrs. Cohen, grew up in and probably worked in before becoming a teacher. I think, that deep down, she knew that we wouldn’t find typing relevant, and honestly, the class didn’t take it that seriously.

But one day, she read us an article from the local paper that said that kids needed to learn how to type because computers were going to be a big thing and soon everyone would need to know how to type. It had a huge impact on me—I still remember it very clearly.

I had already been exposed to programming and even had a computer at home. But, coding was just for fun. I didn’t think it would be a job, or that I would be typing every day at work. Mrs. Cohen was the first person that made me think that computers would be more than a toy.