Skip to content

Instantly share code, notes, and snippets.

@wilmoore
Last active September 21, 2024 20:48
Show Gist options
  • Save wilmoore/67daefd145dcbc9682fa561b1f607b45 to your computer and use it in GitHub Desktop.
Save wilmoore/67daefd145dcbc9682fa561b1f607b45 to your computer and use it in GitHub Desktop.
Personal Brand :: Content :: Ideas

Personal Brand :: Content :: Ideas

βͺΌ Made with πŸ’œ by Polyglot.

related

Content Ideas & Brainstorming

Count: 30 / 30

Initial Content

More

Affiliate Programs

Content Calendar

Interview Prep, Data Structures & Algorithms, Resume Optimization, React, JavaScript, TypeScript, Node, Developer Productivity (Keyboard Shortcuts), Chrome Extensions, Developer Tools

  • How to make the web a little nicer for yourself as a developer: simplest thing that can work strategy. problem: issues with size of quick search. locating the fix using devtools. making a note. starting the simplest chrome extension. a boilerplate. loading it.
  • How I manage SSH Keys (GitHub/OpenSource, 9-5 Work, Contract Client Projects, Side Projects, Experiments)
  • asdf (node, ruby, python, go)
  • contracting, agencies, etc...
  • What it's really like to be a software engineer (pager duty, 12 - 16 hours of work trying to solve a hard problem)

What to write about? What am I working on right now? What challenges am I facing?

  1. Layoff
  2. Job Search
  3. Where to look for jobs?
  4. My portfolio...but, I want to build real products
  5. Upskilling; YouTube, ChatGPT, Notion (issues: no offline support, need paid plan to get version history), Evernote (issues: search sucks, lack of code snippet support, need Premium subscription to get version history) , GitHub Gists (issues: no ability to share securely, no offline support)
  6. Apps I have on my computer (brew install notion)
  7. Command-Line Programs
  8. macOS programs: screenshots of program, settings, how to use (developer setup guide, but sprinkle here too) -> promote the guide
  9. Browser Settings: Chrome extensions, Chrome extension settings (other browsers?)

LinkedIn Bio Link Offer Ideas

  1. ...
  2. ...
  3. ...

LinkedIn Featured Section Ideas

  1. The Ultimate Developer Setup Guide for Mac ($0) - In Exchange for e-mail address
  2. The Ultimate LinkedIn Banner Template Pack ($100)
  3. The Ultimate Command-Line Reference Guide ($0) - In Exchange for e-mail address
  4. ... ($1,000)
  5. The Ultimate LinkedIn Profile Optimization Handbook ($0) - In Exchange for e-mail address
  6. ... ($10,000)

Keyboard Shortcut for Today

I've learned that one of the best ways to learn new things is to consume online video courses, including those on YouTube and LinkedIn learning. I like to be as efficient as possible when consuming online videos, so, I typically have my markdown notes ready to go and my fingers on the keyboard ready to take notes. I've noticed that the more videos I've consumed, the more efficient my note taking process has gotten. I've come to rely on keyboard shortcuts a lot more. In order to help others become as efficient as I've become, I'll be sharing one new keyboard shortcut per day. Why One? I'm glad you asked. The reason I'm sharing one at a time is, it takes time for keyboard shortcuts to really sink in. I don't believe we learn keyboard shortcuts all at once. I believe we get used to relying on one keyboard shortcut at a time. We use it a little bit at first, then, we use it some more. Then, we kind of forget about it. Then, once we notice the lack of efficiency, we start to consider using the keyboard shortcut again.

Tab Switching
  • command + shift + [ (or {): Go to the tab 1 spot to the left of the current tab (or go to the last tab if you're currently on the first tab)
  • command + shift + } (or }): Go to the tab 1 spot to the right of the current tab (or go to the first tab if you're currently on the last tab)
macOS Text Editing Shortcuts
  • command + Left Arrow: Jump to beginning of current line
  • command + Right Arrow: Jump to end of current line
  • option + Left Arrow: Jump to beginning of previous word
  • option + Right Arrow: Jump to end of next word
  • shift + Left Arrow: Highlight/Select one letter to the left of the current cursor position
  • shift + Right Arrow: Highlight/Select one letter to the right of the current cursor position
  • option + shift + Left Arrow: Highlight/Select from current cursor position up to beginning of previous word
  • option + shift + Right Arrow: Highlight/Select from current cussor position up to end of next word
  • command + shift + Left Arrow: Select (Highlight) from cursor to beginning of line
  • command + shift + Right Arrow: Select (Highlight) from cursor to end of line
  • command + shift + Down Arrow: Highlight/Select from current cursor position down to the end of the document
  • command + shift + Up Arrow: Highlight/Select fromt the current cursor position up to the beginning of the document
  • option + delete: Deletes from the current cursor position through the previous word
  • command + delete: Deletes fromt the current cursor position through the beginning of the line
  • command + z: undo the last command (i.e. if you deleted the entire line with command +z, pressing command + z restores the line)
  • ...
Chrome Web Browser
  • command + shift + T
  • option + command + j: open/close developer tools console
YouTube
  • shift + ?: Show Keyboard shortcuts
  • shift + >: Increase Speed
  • shift + <: Decrease Speed
  • t: toggle theater mode
  • f: toggle full-screen mode
  • i: toggle mini-player

Newsletter

  1. ...

Everyday, Throughout The Day, Daily Post Ideas

  • (Morning) 1 Keyboard Shortcut
  • (Mid Day) 1 Unix/Linux Command-Line Program Breakdown (common usages) - save the deep dive for newsletter
  • (Evening) LinkedIn Profile Optimization Tip

1-Time Per Week, Daily Post Ideas

Probably want to focus on niche: Job Search/Resume/LinkedIn Profile, Building Production Apps, JavaScript/TypeScript Tips, LeetCode Style Problems, Other Interview Problems, System Design Breakdowns

  • Monday: ...
  • Tuesday: ...
  • Wednesday: ...
  • Thursday: ...
  • Friday: ...
  • Saturday: ...
  • Sunday: Sunday SQL

Cheat Sheets

  • The various types of diagrams (Database Schema Diagram, Sequence Diagram, ...)
  • Keyboard Shortcuts: macOS text editing, macOS navigating the operating system, Chrome Web Browser, YouTube in Browser, GitHub in Browser
  • Cron Cheat Sheet
  • Unicode Cheat Sheet

Anatomy of a Docker Command

My Software Engineering Career Exploded after I learned ...

  • How To Quit Vim (:q, ⇧zz, βŒƒ[, esc, esc :wq) -> So, you really only need to know two concepts. The concept of escape which you can do two ways: You can press the ESC key, or you can press control+[. That takes you back to normal mode, even if you press it multiple times. Now that you're in normal mode, you can can type a colon command :wq or you can just type the equivalent ZZ (hold shift ⇧ while pressing the z key twice). You can also just do :q! if you don't care about saving anything.
  • How Timezones Work
  • How Regular Expressions Work
  • How Unicode Works
  • How Big O Notation Works
  • The Secret Hack To Efficiently Learning Data Structures & Algorithms
  • How Software Interviews Work

Data Structures & Algorithms Applications

  • Autocomplete & Prefix Search (Trie, N-Grams...)

New Features

Built-In Shell Commands

N Commands for doing X

Kickoff

Refactoring

Code Spikes

  • Get your ideas out
  • Sometimes the code spike is what you needed to figure out the next piece of the functionality

How I know when it's time to refactor...

I know it's time to refactor similar to the way I know when it's time to sweep the floor...I know when it's time to sweep the floor because I keep stepping on things; and, it's annoying.

Similarly, when I go to read the codebase, I know it's time to refactor when I find it hard to read. If it doesn't read well, or, I look at a filename, a class, a method, or a function and the name doesn't immediately tell me what it's doing or it's a bit confusing, it's time to refactor.

Wait, what about "If it ain't broke, don't fix it"? Yeah, that's all well and good, until things need to change. "If it ain't broke, don't fix it" sounds good, until you need to add functionality or requirements change.

No, yelling at the product owner and telling them to go away isn't a satisfactory answer. Sorry, but, not sorry.

JavaScript/TypeScript

  • Side-by-Side React JSX Component vs Web Component

JavaScript Templates / Boilerplates

  • Web Component in JavaScript
  • Web Component in TypeScript

My Developer Setup

Key Remapping

Remap "Caps Lock" to "Control"

  • CTRL + l (clear screen)

SSH Keys

  • Generating
  • Naming Convention (Why I never use ida_{rsa|dsa} as the name of my key

AI Pair Programming Assistants

Terminal & Shell

  • Default Terminal
  • Terminal Options (iTerm, Alacritty, ...)
  • Tmux
  • readline & keybindings (emacs, vi, search forward/backward, fzf)

If I had to start learning to write software again...

I would not choose Vim as my editor

...but I would learn vim's basic keybindings

Building In Public (Great for Personal Branding)

I've been fascinated for a while with the trend of building things in public. I've been wanting to participate; however, I've stood on the sidelines for quite a while waiting for the best time to double-dutch into the game. It's hard to admit, but, I think it's partially imposter syndrome and partially a bit of perfectionism; and, I'm starting to think they have a lot to do with one another. Perhaps imposter syndrome is a bit narcissitic. If it is, then, all the better for me to start doing something about it.

I am committed to sharing my experience building things.

  1. For me.
  2. For you. So you can see that's actually pretty easy.

I build the products that I wish existed. Building in public is hard. There are probably lots of other reasons, but, the ones that hit the dome immediately are:

  1. It's a super vulnerable act. The possibility of failure is real and it's not easy to be open with a bunch of strangers on the internet.
  2. Someone might steal your idea.
  3. ...

Who's Building In Public

Browser Extensions

Browser Extension Ideas
  • When I have an idea for a chrome/browser extension, I typically do something called "Feature Primitive". A "Feature Primitive" is the smallest unit of functionality possible to make a feature a reality. I "Feature Primitives" when prototyping or spiking a feature out. When it comes to chrome/browser extensions, I typically spike out "Feature Primitives" in the devtools console. It's a way to think through a feature's implementation to (1) see if it's possible (2) decide if it's even worth building. When I was spiking through the idea of building "Conversation Titles for ChatGPT", the first "Feature Primitive" I worked though was to simply see if I could locate a good parent element to insert the title into. This meant, document.querySelector('some css selector').
Conversation Titles for ChatGPT
  • What tech I used to code my new Browser Extension in 2024
  • Not sure where to start when building a program? I've learned that the best way to start, whether building a chrome extension, mobile app, command-line program, or library is to start with the cold hard facts. Wait...What? What facts? Yeah, the facts are the immutible laws that govern how the thing you're build for operates. Say it's a Chrome Extension...How does the target website currently operate? I take notes on all the tiny bits of information that website gives away for free. (1) What is the URL structure? (2) How does the UI look before and after user input? (3) What happens if I replace a lowercase letter for an uppercase equivalent in the URL? (4)
  • What can we assert about this page using just this URL-based regular expression? src/core/url.ts
  • Naming Things Is Hard; Unless ... I still feel the pain from that period in time in tech when it was super popular to name shiney new tech things with names like
  • Creating an extension icon using Midjourney

Press / To Search

  • I believe with all my heart that the best software is built when the developer (1) is completely in touch with the problem at hand (2) ...

Resume Optimization

Interview Readiness / Interview Prep

  • DSA
  • Big-O Notation
  • System Design
  • Database Design

UI/UX design for Software Engineers

  • Color Choices
  • Fonts / Typography
  • Spacing

What I've Learned about LinkedIn Profile Optimization

What I've Learned about designing LinkedIn Banners

  • I don't see the point in having a non-optimized profile photo, then, yet another photo of your face in the banner. Why not completely max out the profile photo and then use as much space as possible in the banner displaying how you add value? Of course, for public speakers, I can see how adding a stage photo might be a good look.

...

Technical Choices

How I choose databases to use for software development

  • PostgreSQL
  • Redis (Low Latency)

Creators You Should Follow for...

Building In Public

React Native

Data Engineering

...

On API Development

NOTE: Use these content drops as an opportunity to update notes and further research the topic. For example, the initial drop can be a simple list of architectural styles. It can be a text-post with a carousel; then, all of a sudden, you're doing a quick screencast of how to consume an API, then a screencast on how to create one for others to consume, how to document one, etc. Clips from the longer form content can be dropped as reels and tiktoks.

  • REST
  • SOAP
  • GraphQL
  • gRPC
  • WebSocket
  • Webhook

In The $SHELL Tips

Changing Shells

  • chsh
  • I changed my shell, but, homebrew (brew) isn't working anymore... (~/.zshrc)
wilmooreiii@innersOnly-MacBook-Pro Downloads % cat ~/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"
. /opt/homebrew/opt/asdf/libexec/asdf.sh

JavaScript Tips

  • X ways to define a JavaScript function
  • X retry strategies

Console.*

  • A Console.* reference

image

Why I use X ...

TypeScript Tips

  • ...

Software I Use

Chrome Extensions I have to have...

Everyday Uses
  • GoFullPage: Full Page Screen Capture
  • Taste
  • Conversation Titles for ChatGPT
Great for Job Hunting
  • Teal

In defense of ...

I recently learned that...

I recently learned that that Bluetooth got its name and logo from a Scandinavian king named Harald Gormsson

I recently learned that the preview.app can seemlessly remove image backgrounds

I recently learned that it's possible to embed a playable MP4 in a GitHub Markdown page

In order to stay well-rounded as a Full-Stack Software Engineer, I follow these top performers in Data Engineering on LinkedIn

  • ...

What I've learned through building and shipping lots of web apps, apis, chrome extensions, and mobile apps

... is that there are no universal shortcuts or patterns that are always applicable

... is that

How I ...

How I manage to stand out amongst other candidates in Job Interviews

  • Build Production-Level Software in Public

How I Built a Chrome Browser Extension in Three Weeks

How I use the "Digital Color Meter" app to get values for the web

image image

How I recall the value I bring to a software development team


How I setup my mac for software development

How I come up with ideas for software to build

  • Use lots of software
  • Take lots of notes on software
  • Keep a list of ideas

How I use a single tool to manage all of the programming language I use

  • asdf

Here are X software tools that I use to generate hard passwords

  1. ...
  2. ...

How I organize every program I write

  • tests
  • translations
  • feature toggles
  • telemetry for usage metrics

How I organize every Chrome Extension I write

  • tests
  • translations
  • feature toggles
  • telemetry for usage metrics

How I work around ChatGPT's Title Renaming Bug

How I Converted a JavaScript Library on NPM TypeScript

  • CJS Module to ESM Module format
  • TSConfig
  • Type Safety via Generics: selectn("path.to.retrieve", withinThisDataObject) vs selectn<String>("path.to.retrieve", withinThisDataObject)

How I Use Markdown To Take Notes

  • Video Notes
  • Screenshots (use preview to ensure pasting into Gist is a markdown img vs HTML image tag)

How I start almost every browser extension project...

Here are N Xs to use for inspiration

Here are 3 GitHub Readme pages for inspiration

Comments To Posts

Why I Don't Use...

AKA: You Might Not Need

  • Text Expander => Text Replacements

Portfolio Projects

  • This is how to make your portfolio projects stand out.
  • You've been lied to about portfolio projects.

Resume

  • ...

Product Development

  • ...

Freelancing

  • How to land your first 5 clients.
  • How to pay yourself as a freelance developer.
  • Invoicing

Contracting

  • ...

Career

  • How to onboard like a pro
  • Organizing your job search
  • Imposter syndrome

More

  • How I setup my macbook
  • asp.net core programming on a MacBook
  • side hustle ideas I've tried and failed
  • side hustle ideas I've tried that made me $$$
  • a tour of my personal method for software engineering upskilling (take a course, set a schedule for learning, build a course for yourself while you are taking the course, this is better than note taking, sell them the platform)
  • Why you aren't getting enough software engineering interviews
  • Why you aren't getting enough callbacks
  • How to track your job hunt progress as a software engineer
  • six-figure software engineer fundamentals (you can make well-over six figures as a software engineer if you start doing these things)
  • my Polyglot MacOS software development setup
  • Never build portfolio apps like this, build these instead
  • How to build SaaS apps with relatively little experience that generate at least $$$ per month in passive income
  • Your email list is losing you $$$ per month in passive income; do this instead ...
  • My YouTube video setup
  • Why I don't own
  • You're losing time and $$$ because you don't know how to use your computer effectively
  • How to make a killer YouTube video intro
  • How to make $$$ writing software development articles
  • How to write a software development book in a week for at least $$$ per month in passive income
  • How to use JavaScript to write an Electron notes app that is better than the MacOS notes app for at least $$$ per month in passive income
  • How to eat a semi-vegan diet
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment