Category Archives: Personal

May 2023 Blog Roundup

I started writing much more frequently this month. I happened to be on vacation for two weeks of it, which gave me a lot of time for writing.

The main thing that got me going was wanting to start up my podcast again. I released four episodes in May.

I also updated my podcast workflow, which makes it a lot easier to do, and I think will make them better.

In Blog Posts, Randomness, and Optionality, I talked about my most popular blog post, and how it had more hits than the rest of my site combined (by far), mostly driven by search. That post hosts my UML Cheatsheet and is from 2006. I made the post following a talk I gave at a local meetup to try to get a job.

I am trying to write more about diagramming generally (to build on a past success). First I wrote that For Diagramming, Favor in-Document Editing and then I wrote that you should use C4 Context Diagrams in GitHub READMEs, and to help make these, I wrote The System Boundary is Defined by the External Pieces.

I’ve been interested in developer productivity metrics, so when I read about DevEx, I was interested, but I wrote a critique in Making Sausage and Delivering Sausage. But, then I wrote about the CRAP metric in Use Your First Commit to Fix CRAP and realized that both CRAP and DevEx are Metrics that Resist Gaming. CRAP always makes me think of refactoring, so in the middle of that I wrote about the First Rule of Refactoring Club.

June has four weekends, so I am expecting to make four podcasts. I also want to spend the bulk of my time thinking about diagramming, so I expect a lot of posts about that.

Two Color Journaling

I journal in black and red. Almost everything is black because I reserve red for anything on theme or particularly important to me. By “on theme”, I mean consistent with my yearly theme, which is to Make Art with Friends.

This has advantages in review and while journalling the day.

I am using a Recurring Journal this year, which means that when I journal I am seeing a past day on a different part of the page. If that past day was particularly red, I can try to match it. I can also easily see the red ink as a flip around. At the end of the year, when I review the journal, it will be easy to pick out the important parts.

During the day, I can see how much red ink I have or have not used and try to see if I can get something in to make the day more red.

Not every day needs to have some red on it, but sometimes I have a free moment, and since I have a low bar for making art, I can easily do it.

I Write During Times of Personal Change

Looking at the history of this site, I noticed that I started this blog in December 2003, and I know why—I had decided to leave my job, and thought I would go into consulting for a bit while I figured out what was next. I wrote about things related to client work I was doing.

I wrote fairly often up until about March 2004, which is when I started a new full-time job. There is a two year gap until February 2006, which is when I decided I wanted to work for Atalasoft. I wrote posts because I had a link to this site on my resumé, and I didn’t want it to look abandoned.

I was at Atalasoft for seven years, and I blogged on-and-off. But, I got much more active in the month before I left to consult full-time. A year later, I joined Trello, blogged on-and-off for six years and got very active as I was preparing to leave to become permanently independent in March 2021. I had about 9 months or so of very frequent blogging and then trailed off in 2022.

And now, I’m picking up again.

In the past, this was planned during transitions. It was partly to help with marketing myself, partly because I had the time and energy for it, and partly because new jobs came with a lot of new learning.

This time, I’m not consciously planning any big change. But, based on my past patterns, I seem to be preparing for one.

I can’t wait to find out what it is.

Lessons from My First Published Article

When I was in first grade, our class visited The Daily News and saw how newspapers were printed. When we got back to the classroom, our teacher had us collaboratively create a newspaper that she printed on a mimeograph, which used blue ink that smelled great.

Super News (All kinds of news) June, 1977

I think she went through a real newspaper and pulled out topics. So, we were assigned “articles” to write on Sports, Science, Politics, International News, etc. It was 1977, so there are prominent mentions of Jimmy Carter, Pele, and the oil crisis.

I had to write about “Neighborhood News”—here’s my article in full:

Neighborhood News - The Pathmark people are building a supermarket on Northern Boulevard. There are lots of potholes in the city. The cold weather caused the potholes and people are fixing the potholes. by Louis Franco
My first published work

Looking at it, here’s where my current work is similar to my 1st grade work.

  1. I try to keep it short
  2. I mostly write about what I am seeing/experiencing (we passed by that Pathmark construction site every day).
  3. I still end my posts abruptly

Co-working First Impressions

I started working remotely in 2013 and haven’t spent significant time in an office since then. When I went to Trello’s NYC office, it was mostly for offsites or to onboard a new team member, so I wasn’t planning on getting a lot of programming done. Even so, the Trello founders were highly influenced by Peopleware, and knew that company offices needed to provide a quiet working environment.

But, now that I’m working alone, I do miss having some interactivity with people during the day, so I am trying out a co-working space once a week. Today is my 2nd day.

Some random thoughts.

I am really glad I brought noise cancelling headphones. It’s just enough (along with listening to ocean sounds) to drown out the one-sided zoom meetings when I am trying to code or write (luckily, it seems to be somewhat rare).

Sitting by a window is nice. It’s on the third floor across the street from a residential neighborhood. All I see are shade trees, rooftops, and the big blue sky. At home, my window is on my left, slightly behind me. This gives me a place to stare to rest my eyes.

A view outside of a co-working office showing tree tops, rooftops, and the sky

The weather is hot enough for shorts and a t-shirt, but like everywhere else in Florida, when you get inside, they have the AC cranked up. I get to wear jeans, which I miss.

I thought I would miss my monitor more. They have a place to store one, and I was already planning to do that, but I’m getting a lot done right now without it. If that keeps up, I probably won’t bother.

Doing this on Mondays sets up the week well. I guarantee that I won’t have a meeting (because I am blocking the whole day). I would not have done that if I was working from home. Since I end each week with a plan for the next week, I can just get going when I get here.

They have regular and counter-height desks. You can stand at the latter.

The First 13 Weeks

The first 13 weeks of the year ends on my birthday, and so each year I try to set up those months to try new things. It’s not a resolution or a goal, but more of a direction to explore. This year, I’m trying to make “make more art”, where “art” is very loosely defined. To start, I’m doing more sketching, writing, and I’m even going to drop in on an improv group.

I journal in a Recurring Journal I made last year for 2023 — it splits the year into four 13 week cycles where you journal the same day in the cycle on the same page spread. So, on April 3rd, I’ll be journaling on the same page as January 2nd. The idea is that I can see some progress and renew my energy for the next 13 weeks.

Lessons from My First Real Program

(I commemorated this program in a t-shirt)

In 1983, in the wood shop of JHS 125 in Woodside, Queens, perhaps sensing my frustration in making a spice rack, my teacher asked if I’d rather be in “computer shop”. Mr. Abbey had good instincts.

My new shop teacher, Mr. Penner, gave us each a sheet of graph paper and told us to count 80 columns and 25 rows and draw a picture by filling in squares. I drew a skull (I think it might have been getting close to Halloween). Next, he taught us enough BASIC so that we could write a program to draw our pictures on the screen.

I looked up an old Commodore PET manual, PETASCII table, a PET memory map, and downloaded VICE, a PET emulator, to recreate it here (lines 1010+ would have the coordinates from the drawing):

10 REM DRAW AN AWESOME SKULL!!
20 REM BY LOUIS FRANCO
30 READ X, Y
40 IF X = -1 THEN END
50 POKE 32768 + y * 80 + x, 160
60 GOTO 30

1000 REM (THE X, Y COORDINATES FOR THE SKULL)
1010 DATA
1020 DATA
2000 DATA -1, -1

What I love about this introduction to code:

  1. It is pretty much the minimum code you can write to get a drawing on the screen.
  2. It has conditionals and loops, so it’s more interesting than Hello World.
  3. It takes advantage of something a 13 year-old might know — X, Y coordinates.
  4. He gave us lines 30-60 because you have to know minutia of PET architecture to understand it. He did explain it, but didn’t expect us to be able to write it.

The next lesson was to animate the drawing (cycling two frames), which we were mostly on our own to do.

T-shirt showing a PET computer with a pixelated skull on it in green

Making More Things in Public

I really try to put most of what I make out there, whether it’s code in GitHub or random thoughts here on this site. But, the truth is that I have a lot of half-baked (tenth-baked?) stuff on my drive. Also, I am doing more work that has to be private, but I am actively looking to lower the bar and share more.

One class of things I don’t share is vector drawings that I make mostly for my apps or to practice graphic design. But, I really wanted to make my own t-shirts with some of them, so I submitted to Cotton Bureau and opened a store a few days ago. You can check them out on my t-shirt page. My favorite is PET Skull, which is based on my first real program. You can use the coupon [USP6ZBJXUS] for 10% off until the end of 2022.

Introducing Page-o-Mat

As I mentioned in my post about recurring journals, I decided to write a python program to create a PDF that implemented my riff on the Da Capo journal. I finished it enough to share, and put it on GitHub. It’s called Page-o-Mat.

To make it more generally useful, instead of hard-coding this particular journal, I made it read a configuration file that can be used to describe lots of journaling styles.

Right now, the paper and page types are what I needed for my 2023 journal. I am about to do a test-run with getting it printed on LuLu. After that, I might make some more page templates.

The config file is in YAML. You could just list each page you want one-by-one, but to make things easier, there are a few ways to create enumerated pages.

  • Any page could have a count, which just repeats that page
  • Any page can have a variant list, which repeats the page, setting a variable that can be used in titles
  • Pages can have lists of sub-pages, and so on.
  • Pages can have sections

In the code, it’s implemented with nested loops and recursion. The indices of those loops are exposed to the config to use in date math, so that any section of any page can have a date calculated for it. Most journals would probably have sequential dates, but a recurring journal wants you to keep cycling back to the beginning of the book, so the date math is fairly complicated.

There are documented examples in the repo that (hopefully) explain this better. Start with daily.yaml, which is just a 365 page daily journal. 2023-recurring-journal.yaml shows the more complex example.

June 2021 Blog Roundup

I took a few weeks off to travel, see friends and family, and get some rest.

WWDC was in the beginning of June, so I wrote about that:

I also wrote about software process and testing

I also took a break from podcasting, but made these in June:

I expect to have an episode Monday on taking breaks.