avatar

Neil Robinson

Blogs

Keep Up Blog On wording on a coaster

On Blogging

I have been reading many blogs lately. I never realized how reading other people’s blogs could persuade me into new ideas and attitudes toward blogging and so many other subjects. Most of the bloggers suggest not to curate to a specific audience or ensure your blog post is perfect and free from imperfections. They recommend just write and share your experiences.

What has been holding me back so much was a fear. The fear of looking unintelligent by making grammar mistakes or if I express the wrong idea. The idea that my blog needed to be on a certain topic. As if the reader was only interested in one dimension. The fear is unhealthy. The fear stops me from writing; stops me from thinking; and stops me from growing.

Picture of a target with Goals mind mapped toward the target

First Year Goals Update

I wanted to share my updates on my goals now that we are two and half months into 2025.

Goal #1 Improve Communication Skills

I joined Toastmasters in March 2025. I started participating in public speaking immediately. Toastmasters encourages people to start developing their speaking skills is by participating in this concept called Table Topics. At each meeting, a person can randomly select 5 to 10 people to answer a random question. The questions are random to help participants to develop impromptu and extemporaneous speech delivery. The speech duration can be from one to two and one-half minute long.

Picture of a Microphone on a table in front of a crowd

Joining Toastmasters

I joined a local Toastmasters club to practice my verbal communication. At first, I wasn’t sure if I should join program because I didn’t know what to expect. However, I am glad I participated as a guest to get a feel for what this program is.

The style of meetings and all the different roles give you the opportunity to practice many different styles of communication: impromptu extemporaneous speaking, conducting meetings, being positive, confidence body language, feedback, filler word elimination, and all sorts of other minor things you don’t think of but is necessary when conducting yourself in a public view.

Diagram showing various tags wired an application server

Content Security Policy

Content Security Policies.

History

When the World Wide Web was created by Tim Berners-Lee back in early 1990s, the idea was to share information, particularly at CERN where Tim worked. The idea was to coalesce all the information throughout CERN in a unified system. Sharing of information was the major problem he was solving. The idea of hyperlinks to various URIs or URLs was the goal to spread and share information at CERN. But as Internet became popular and used outside of CERN, and malicious actors started to appear, and site owners needed a mechanism to restrict hyperlinks or URLs on their websites.

Picture of a Rails ActionView field_for :tag example

Rails Transaction Do

ActiveRecord Transactions

You can commit atomic transactions on an ActiveRecord model by calling class method Model.transaction do. This allows the update controller action to update all associated models in one transaction. I have previously wondered how to make sure you can update all your associated models in one big committed transaction and ensure all models are updated through the controller. Now I learned it is using the transaction do block.

Screenshot of Browser Inspection Tab

MSI Mime Type

What is the name for the MIME Type for MSI Files?

I searched for it on multiple web search engines. I thought this would be an easy answer. Instead, I found multiple conflicting sources of what a MSI file MIME type is supposed to be. For those who do not know what a MSI file is, it is a Microsoft installer file, which installs windows applications.

With all the inconsistent search results and without having to rely on the AI output, the only way to settle this answer was to see what Microsoft’s application type is on their MS installers MIME types. I downloaded PowerShell MSI file, but before I did, pressed CTRL+SHIFT+I to inspect the network, viewed the response headers, and discovered that Micrsoft uses the application type of application/octet-stream for their MSI files.

Picture of a target with Goals mind mapped toward the target

2025 New Year Goals

I want to focus on achieving three primary goals in 2025:

  1. Improve Communication Skills (i.e. speaking)
  2. Rails - Build more applications
  3. Fitness - Get Moving

Improve Communication Skills

I want to focus on verbal communication skills. To accomplish this goal, I am going to start building more in public, record videos of myself talking on an array of subject matters (maybe programming, spreadsheets, or other doing things I enjoy).

The goal is to take action on something I learned and share it with the public.

Picture of a Rails ActionView field_for :tag example

Rails Views with multiple assocations

I am learning how to create and handle Rails ActionViews with multiple associations. There are many ways to handle associations in rails and I have not seen a consistent use of one paradigm. It is a challenge to think through which model should be saved first, what associated data may already be in the database that you can use option_from_collection_for_select or the fields_for method, or determine which view to modify to bring in the association.

Picture of a Database Schema

Rails Associations

In Ruby on Rails, the MVC concept is easy to follow when you have a non-relational type of model. The difficulty with rails is that I find organizing and creating the MVC around multiple model associations. The resources and views of associated models seem linked together and brittle. As if I make a change and it breaks a lot of the default views code or the create and update actions. I fear I am misunderstanding rails. I looked through all the guides and there doesn’t appear to be good explanation for how to deal with the views of complex associations. Even on the web, there seems to be limited discussion on this topic.