Is it Time?

When I moved to Newport, I left a teaching process in California where was teaching about three to five Acroyoga classes a week. Covid was growing more dangerous and the idea of being close to other humans in the Acroyoga context didn’t seem like the best idea. As weather got better last year, I started outdoor jams, they were at pretty terrible times (9 am on a Thursday), but at least they were happening. These events had a mixed success. There were larger gatherings of up to seven people, but for the most part they were small groups of two or three.

But winter is coming and the weather is getting wetter and colder. This means that in order to really grow we are going to have start looking for an indoor space. There are increased risks with indoor spaces and I’m concerned about bringing in new classes. The area I’m teaching has a high vaccination rate, and there seems to be a lowering of cases. The concern is, though, starting Acroyoga is challenge. It’s a challenge in times where Covid isn’t a concern. Is starting a class now just too much? What if I start it and have to cancel it due to covid concerns? This is stuff I’m worrying about and I’m just not sure. Anyone have any good ideas here?

HTML Email

What some of you may not know is that much of the time at Salesforce was spent in the world of electronic mail (or email for short). Email is interesting and relevant today because almost everyone has it and communicates with it. It is an official form of communication.

What you may not understand is that the world of email is rather confusing. Basically, the email that comes over the wire is presented to you by your email client and where email gets very confusing is that there are a million different email clients. You probably use more than one. If you look at your email on a mobile device and on a computer that is two different clients. Then when you think about 3rd party clients and even GMail which renders in a browser, you have a client which is actually a client within a browser.

Because of the various numbers of email clients and security concerns, while the web has advanced, email was still written and styled like the early 2000s web. This means table layouts, no real stylesheets, and things like the center tag from way back in the day.

When I left Salesforce, I was hoping that my email wondering days were behind me. Well, for the most part, they are, but one common thing our clients need is to send emails to their clients. Bringing me back to writing stylized email HTML like the 2000s in table layouts.

Despite being very forward-thinking when it was first created, Gmail is usually the hardest client to style for. It’s not really their fault. They are presenting your email in a web browser and they have to be secure on their side of things. I don’t begrudge them thinking about branding and security. Still, things are starting to change and Gmail is now supporting some new things:

Gmail isn’t the only client, though. Because of this, much of the email stuff is still being done with tables. This is pretty challenging for those of us who have spent a bunch of time learning to do things right in CSS (though, to be fair, I’m not the best at CSS).

The association for me feels a bit like the Cobal programmers who were needed to fix all the old code used before the year 2000. Granted, we have better tools for conversion, but this does feel a little archaic.

A Good resource is:

https://www.udemy.com/course/html-email/ – a good course on how to work through HTML email.

I’m learning more things as I go through this process. So far, I’ve learned that not all divs are respected and also that you have to use a capital M in margin for outlook. You also cannot use SVGs in email, you must use PNGs. More lessons to come as I dig through this project.

12 Tips for People New To Software Engineering

I’ve been working in the field of software for over 16 years now. I’ve worked for small companies, and I’ve worked for large companies. I have recommendations of books to read (though I really should start a database of books). I gave a small talk a couple of days ago, and I shared some points to start with. Here are the points that I advocated:

  • Learn Version Control Software – This was something that was mentioned in college, but not really harped on. In the real software world, everything is done with version control. It allows you to track changes and see how the software is made. Learn it! Git is the most common, but there are plenty of alternatives.
  • Read Books Often – It actually doesn’t have to be books, it can be blogs and various other things. Find stuff to read and stay up to date as best you can. Software is continually evolving. As people are writing software, they are evolving the practice of software engineering. New stuff will make your life better and easier.
  • Understand Computer Architecture – At some point in your career, understanding how a computer works will help you. I have a story about a buffer overflow in Swift that wasn’t pushed back to ObjC that took me days to debug, and I was only able to solve by realizing the one device we were working on was a 32 bit device. Understanding architecture will help you with understanding performance trade-offs.
  • Everything boils down to text – Everything is text, somehow. Packets going over the internet are really just text in disguise. Websites are mde in text. Everything is text. Even images are really bytes, which is text for computers. If you spend enough time, you can understand pretty much anything. It’s all a matter of time, usually not a technical limitation of understanding a problem.
  • Have a website – This is advice from Being Geek from Michael Lopp. Create a website. It’s not super hard to do and will look good on your resume. It’s a great way to show potential employers what you have done.
  • Do side projects – They don’t need to production level projects, but doing side projects is a great way to play with technology and learn about various different things. Notice a trend here, keep learning if you want to be successful.
  • Learn as many langauges as possible – You don’t need to be an expert in all of them, but understanding the basics in many different langauges will help you. Being able to understand the advantages of one language over another is super helpful. Picking up a second langague can be hard, but if you have many languages under your belt, picking up a new one isn’t super hard.
  • Learn people skills and start networking – Even though writing software is a skill, most projects are too complicated for any one person to do. You will need to work with others. Learning to do this effectively will help your career. It might also allow you to find different opportunites that might peak your interest.
  • Learn the command line – I don’t care what system you are on, there is a command line under it. Learning the command line will help you be efficient and work on many different environments. Remember, everything is text.
  • Keep notes and records – You will forget what you wrote in less than 3 months. Notes and records will be your best resource for remembering what you are thinking. Plus you remember more of what you write down. So write things down in a way you will be able to look back on them in the future.
  • Become a power user of your software – You will spend your days using development software. Learn the keyboard shortcuts and all the tricks you can to be more effective in your software. It will help you save time, and that time will add up. It will allow you to spend more time thinking about the “what” of software.
  • Learn about testing – saving one of the best for last. Testing can be your best friend. It can help you from breaking something you already had working and ensuring your objects behave the way you expect them to. I’ve worked for companies that have done too much testing (way too much UI testing can slow down development), but if you have a question, you probably don’t have enough.

Puppy Life

Last week I brought a new member into my home, Cortado Covfefe Cohen, or Coco for short. She’s a wonderful lab and duck tolling retriever mix. While the first day was amazing and she is great, I get significantly less sleep these days. People say it’s like having a newborn, and technically she is a young child, but I didn’t get any onramp. Went pretty much from the adoption stage right into getting up all time and having my hand chewed on at every turn. Luckily, I have the financial stability to procure chew toys and that is my first stop this morning!

Seriously, while I lament the lack of sleep she really is an amazing puppy. She is kind to and friendly to strangers (we take a daily trip to the coffee shop where she needs to stay on her towel (she is not fully vaccinated yet) and greets everyone with a lick. She will then move over to biting. Hopefully, if I give her more chew toys she will learn what to chew.

Getting a puppy was not something I took lightly. I have been thinking about getting a dog forever. One of my roommates in CA had g/f with a dog that would spend time over our house. That was an indication of how much I wanted a dog. Once I came back to the east coast, I wanted a dog to keep me company and help with the space. When I started dating my girlfriend, even she suggested I get a dog because her cat was never going to love me the way that I loved the cat. This has been a long time coming.

Lastly, just want to mention Save-A-Lab Rescue. Their application process is a little more involved than most and the process to get approved is slow, but they are a great organization and helped me land a pretty perfect puppy. They rescue labs and lab mixes from the southern kill shelters and transport them to the northeast where they can be adopted. As someone who has seen dogs elsewhere who I wish I could have adopted but these other agencies wouldn’t allow me to adopt out of state, it is really great to have found an organization that is taking labs from an area where they are in excess to an area where they are in demand. E$veryone I met was really kind and in the end, the process to adoption, once approved, was very fast!

So, I’m sure there will be more tales of Coco coming up, but for now, we are both just adjusting to each other’s personalities and finding a way to live together. I’m so excited to have this bundle of joy in my life.

Starting a Career in Software

laptop with code

I’ve written some blog posts on getting into the business of software development before. Specifically this list of books on programming, yet I had a conversation with a young engineer the other week and it made me wonder what else I could do to people get into the field. Luckily for me, this young engineer has friends who are also in college and also looking to get some information on the field.

Now, I’m famous for saying, “I’m a Zack of all trades, master of some (really few).” The truth is, when it comes to software, I’m not a super-strong master of many. I get the conceptual idea of a bunch of it, and I’m really just an expert at seeing a problem and understanding the solution. What I’m good at is finding resources to help me and understanding what the resources tell me and translating that into solutions.

Still, when I was starting, I wish there were a bunch of things people had told me. I wish I had known that literally, anything is possible in the world of computer programming if you are willing to dig deep enough to figure out what is going on. I wish I had been told some good places to start learning. I wish I had been told that it’s okay to ask any question once, but it’s really bad to ask the same question over and over again. That it is disrespectful to go to someone with more knowledge than you without even doing a google search and bringing something to the discussion.

Anyway, these are some of the things I learned. I’m curious what the knowledge gap is between those of us in the industry and those just finishing college. To that end, I’m hosting a zoom call on Thursday, August 19th at 8 PM eastern. I’ll probably have some slides prepared, but I’m hoping that most of the session is about Q&A with questions people bring. All you need to do is join the zoom.

Pensive Ruminations about Thinking

photo by Jesse Martini

A few weeks ago a coworker implanted an idea in my brain about this concept of Second Brain. The notion is that the brain is being used in ways it wasn’t designed for and we have a ton of tools at the ready to do more than ever. The notion that we are bound by the limits of our brains is somewhat false. Knowledge and ability goes beyond the our bodies now. With the internet and the use of other information, it is possible to accomplish a bunch even without being able to remember everything.

The link above is for a specific methodology of coming to a second brain. The truth is there is more than one way to do it, and the person who is teaching that class’s big claim to fame is that class. Is organizing how to teach others to organize really success? I’m skeptical. The class that he is offering is in the multiple thousand dollar range and fills up, but I’m not willing to spend that much to learn to figure out my life.

Instead I’ve decided to start reading and figuring out things for myself. I’ve started with a book called The Extended Mind. I’m still working my way through it, but already I’m enraptured with the ideas in it. The notion that our brain does not end at the organ in our heads. The fact that our brain is an organ and a muscle like we’ve all been taught. These are all compelling notions. Taking this further than the book has so far, the mind extends to all of the knowledge that is available to us. This includes all the people we know. Our knowledge then is a shared knowledge. It makes me wonder if by the definition of the book, are humans really just one brain working together? I’m not yet finished with the book (really just starting), so these are all unfinished thoughts. I don’t have a full answer to what I think about the book and this notion yet.

What I do have a thought on is the new program that I found with a little bit of searching. It’s called Obsidian. Basically it’s what I’ve been looking for but without knowing I was looking for. It is a visual representation of the notes on your computer formed in markdown. It can sync between multiple devices (though you do have to remember to save, which is annoying). You can easily link between notes and jump to other notes. You can see the notes in a graph view and see the ones that are connected. It was created as a way to foster connection between thoughts and allow for more of this second brain stuff to exist. It stores all the data in Markdown files on disk so it is accessible at any time.

I’m definitely not using it as efficiently as I could be and there definitely is a lot of work for me to do get the organization the way I need it to be, but I’m loving it so far. Unlike Bear, it allows for complete stylesheet customization. This allows you to shoot yourself in the foot or create some cool additional features if you want. There are a whole list of external plugins as well, because it is just javascript under the hood. This is my tool. Now I just need to figure out how to get all of my old notes from Day One over and start making things better.

Also of note, because it lets me override styles, I am using my favorite MonoLisa, which allows me to do very cool arrows and various other ligatures that I really like.

Unknown how the use of this program will help me in the long run, but maybe this will allow me to create more than just my own thoughts. Maybe someday I will be able to pass on my second brain to my family and anyone else who wants it. Pretty excited about figuring all of this out.

The Notebook Project

This is an idea I’ve had for a while. One of my personal missions in life is to connect people. I do this through community aspects at work, through teaching acroyoga and Thai message, but how do I get even more people involved?

I once read about a project, but have been unable to find it online, where a group of people mailed out a bunch of notebooks, asked people to hold on to them for a couple days and fill out some pages and then send them to another users. When the project was done the group had some amazing works of art.

I’ve always wanted to recreate it. I wanted a collection of art and inspiration created by a connected community. My most recent concept involved me starting a coffee shop to solve it and hiring a bunch of artists to create notebooks.

I was sharing my idea with the owner of Simple Merchant Coffee and he wanted me to maybe create an expo at his space. I told him I didn’t have the notebooks yet and so he proposed something interesting: Let’s set up a couple of notebook stands at his location and let people fill out some pages. He proposed that this morning. This afternoon it happened.

I put two notebooks out there and two mason jars of pens. Hopefully it works out well. Hopefully they both don’t get pilfered from the store. I mean, even if they do I will learn something.

I’m still interested in working with artists to create more notebooks and build out some additional notebooks. If you are interested, please let me know.

Pete’s Pirate Life

A while ago, I got into watching some YouTube creators, one of my favorite being Casey Neistat. Through my constant watching, I discovered one of his friends Peter McKinnon. I don’t know what it is about Peter, but I have a love and hate relationship with his work. His videos are sometimes cool and cover cool things, but oftentimes they are just about obvious editing things or things that Peter himself enjoys. He takes a long time to get to a point that could be covered sooner. Peter’s product shots are very much touched up. Very little of it feels genuine and real. But his style is on point in my book. His love for coffee mirrors my own, and his desire to see the beauty and be joyous is something I strive for.

So for various reasons, sometimes I will watch a Peter video and often times I’ll skip it. The same with his instagram, until I discovered Pete’s Pirate Life. This one collection of photos and products fits into what I love about Peter while keeping me away from some of the stuff I don’t. Through this instagram, Peter shows dark little corners of his life in striking photography. He also does these things called “Drops” whereby he sells fun products. Many of them are overpriced, but the limited nature of the drop makes me pretty excited to collect items. It works on me. To the best of my knowledge, no one has really put together a list of the products he releases with information on what they are and how to make your own or do something like it. I’m going to attempt to do that. Check out my product page on Pete’s Pirate Life.

Photos are from Pete’s Instagram. Not my own work.

Cataloging My Field Notes

collection of Field Notes

There is something to be said for knowing what you have so you don’t buy things you don’t need. That only partly applies to what I’m talking about here. This is clearly a luxury and a collection. At this point, none of this is necessary, and it’s more of a personal hobby.

Since 2008, I’ve been carrying around a pocket notebook and writing instrument almost everywhere I travel. Constantly in my pocket. It’s funny because I also have a smartphone, and I take notes digitally and on paper. Why? I don’t know, and I guess there is something romantic about the paper discovery process of going through old notebooks and finding ideas. I recently went to a friend’s wedding and went through my old notes to find the initial guest list they had proposed back in 2016, just because I happened to write it down in my memo pad. The guest list turned out to be pretty close to who actually came, and it was a fun moment to have the notebook, take a picture of it, and share it with my friend. Also, at the wedding, I pulled out my notebook and had some guests write Haikus that we sent to the couple on their honeymoon (this tends to be a regular occurrence for me at weddings).

My branch of choice is Field Notes. I’ve been collecting unique editions of these notebooks pretty much since the beginning. In moving my stuff back across the country, we unpacked my boxes to find a plethora of notebooks. I didn’t know what I had open and not open. I did not know what I was missing in my collection. I suppose for any collection to count as a collection, you really need a record of what you have. I’ve solved that: here. This is a link to all the available unopened packs I have in my collection. If you are obsessed with field notes and need to trade or collect, many of these are available for purchase or barter. You need to reach out to me. Let me know what you want, and we can discuss a fair trade/purchase price.

This collection has brought me immense joy and happiness through collecting. I can’t really explain it, but hoarding it now feels wrong. It feels like it is time to start parting with editions I don’t feel particularly attached to.

In-N-Out Order

I just got back from a three week long road trip across the country to move the last of my belongings to the east coast. I’m going to try to live bi-coastal, but without all the goods on both coasts.

Our last meal on the left coast before starting the 3000 mile journey back to Rhode Island was at the famous fast food chain In-N-Out. This is chain that until recently was entirely a west coast thing. They’ve slowely been creeping across the country and are as far as Denver as of this year. They are known for their unique fast food style burgers. I once read somewhere, that their burgers are almost 40% fat. They are super thin patties and allow for a bunch of customization.

Because of the unique ways you can customize a burger, everyone has their own special order. I’m no exception. My order is a two by one with whole grilled. This means, two meat patties, one piece of cheese and a slice of onion kept whole and grilled. Sometimes I will even do a protien style version of this meal which means wrap the burger in lettuce instead of a bun.

I’ve tried fries light, fries well, and fries animal style (with grilled cheese, diced carmelized onions, and thousand island dressing), but the standard fries turns out to be good enough for me.

Anyway, hope you get a chance to try In-N-Out if you haven’t. It’s worth the wait in line (though maybe not in Denver, yet).
Image Credit:

@blakeguidry