SaturdayMP Show 91: PostCast (Part 11 – Saving LinkedIn Token)

In this PostCast episode Omar and myself figure out how to save the LinkedIn API token. Previously we saved the LinkedIn API ClientID and ClientSecret, which we knew was incorrect, but we just wanted to get something working. Now we correctly save the token, which is what should be saved.

*PostCast is just a place holder name and might change. The goofy PostCast placeholder image was generated by ChatGPT and will likely change.

zalando/go-keyring:
https://github.com/zalando/go-keyring

Best Practices for Secure Applications (LinkedIn)
https://learn.microsoft.com/ru-ru/linkedin/shared/api-guide/best-practices/secure-applications

Omar:
https://www.ashour.ca/

SaturdayMP:
https://saturdaymp.com/

PostCast Playlist:
https://www.youtube.com/playlist?list=PLYPcrKbLqwuvKQ97klk3bzyUPI6j154WC

Have a question you want answered in a future video? A challenging or interesting problem you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring:
https://github.com/sponsors/saturdaymp

Thanks for watching!

Posted in Code Examples, Saturday MP Show | Tagged , , , , | Comments Off on SaturdayMP Show 91: PostCast (Part 11 – Saving LinkedIn Token)

SaturdayMP Show #90: Claude Code Plugin Marketplace

Join me as I finish creating a Claude Plugin Marketplace and my first plugin that validates and fixes GitHub PR review feedback.

P.S. – The “Marketplace” logo was created using Claude. I usually use ChatGPT or Gemini as they create better images, in my opinion, but felt it appropriate to use Claude for this one.

SaturdayMP Claude Marketplace:
https://github.com/saturdaymp/claude-plugins

Create and distribute a plugin marketplace:
https://code.claude.com/docs/en/plugin-marketplaces

Have a question you want answered in a future video? A challenging or interesting problem you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by sharing it and/or clicking one of the other many social media buttons like like, subscribe, etc.

Thanks for watching!

Posted in Code Examples, Saturday MP Show, Software Development | Tagged , , , | Comments Off on SaturdayMP Show #90: Claude Code Plugin Marketplace

SaturdayMP Show 89: PostCast (Part 10 – Integration Tests and Keyring Saving)

Omar is back! We really got into the zone and recorded our longest PostCast video yet. Might be the longest SaturdayMP Show video yet. We don’t edit out mistakes, so watch along as we learn in real time:

  • how to write integration tests in Go (build tags vs. -short flag)
  • how to create test setup/teardown in Go
  • that the go-keyring library has mocking built in so we can simplify our tests
  • how to connect our keyring logic to the Fyne GUI

Do you like or dislike the long live coding sessions? Should we try coding live instead of mostly live? Let us know in a constructive and polite manor.

*PostCast is just a place holder name and might change. The goofy PostCast placeholder image was generated by ChatGPT and will likely change.

zalando/go-keyring:
https://github.com/zalando/go-keyring

Build tags vs. Short:
https://stackoverflow.com/questions/25965584/separating-unit-tests-and-integration-tests-in-go

Fyne:
https://fyne.io/

Omar:
https://www.ashour.ca/

SaturdayMP:
https://saturdaymp.com/

PostCast Playlist:
https://www.youtube.com/playlist?list=PLYPcrKbLqwuvKQ97klk3bzyUPI6j154WC

Have a question you want answered in a future video? A challenging or interesting problem you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring: https://github.com/sponsors/saturdaymp

Thanks for watching!

Posted in Code Examples, Saturday MP Show | Tagged , , , , | Comments Off on SaturdayMP Show 89: PostCast (Part 10 – Integration Tests and Keyring Saving)

SaturdayMP Show 88: Getting Started with Consulting

No Omar this week, so I decided to answer a question I get frequently: How do I get started with consulting? Be aware that the advice is worth what you paid for it.

The feature image was generated using the free version of Google’s Nano Banana. Took several prompts to get this image, which is not exactly what I wanted but close enough.

Have a question you want answered in a future video? A challenging or interesting problem you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring:

https://github.com/sponsors/saturdaymp

Thanks for watching!

Posted in Business Side, Saturday MP Show | Tagged , , | Comments Off on SaturdayMP Show 88: Getting Started with Consulting

SaturdayMP Show 87: Creating PostCast (Part 9 – Figuring Out Testing in Go)

In this episode Omar and myself figure out how to add tests in Go. We try the built-in Go testing framework but then settle on using Testify. Testify allows writing assertions like other testing frameworks we are used to. We also experiment with different ways to do mocking Go and try to figure out what the Go error object is.

*PostCast is just a place holder name and might change. The goofy PostCast placeholder image was generated by ChatGPT and will likely change.

Go Testing:
https://go.dev/doc/tutorial/add-a-test

Testify:
https://github.com/stretchr/testify

Omar:
https://www.ashour.ca/

SaturdayMP:
https://saturdaymp.com/

PostCast Playlist:
https://www.youtube.com/playlist?list=PLYPcrKbLqwuvKQ97klk3bzyUPI6j154WC

Have a question you want answered in a future video? A challenging or interesting problem you need you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring:
https://github.com/sponsors/saturdaymp

Thanks for watching!

Posted in Saturday MP Show | Tagged , , , , , | Comments Off on SaturdayMP Show 87: Creating PostCast (Part 9 – Figuring Out Testing in Go)

SaturdayMP Show 86: Creating PostCast (Part 8 – Investigate Keyring Libraries)

In this episode Omar Ashour and myself (Chris C.) investigate several Golang keyring libraries and try to get the keyring to work on my Windows Subsystem for Linux (WSL). Spoiler: it was working all along, I was just too dumb to notice. Learned about Seahorse, a handy tool for viewing keychain entries.

We also discuses what the Windows Registry. Spoiler: it is just a big dumping ground of key-value pairs.

*PostCast is just a place holder name and might change. The goofy PostCast placeholder image was generated by ChatGPT and will likely change.

go-keyring:
https://github.com/zalando/go-keyring

Seahorse:
https://en.wikipedia.org/wiki/Seahorse_(software)

Omar:
https://www.ashour.ca/

SaturdayMP:
https://saturdaymp.com/

PostCast Playlist:
https://www.youtube.com/playlist?list=PLYPcrKbLqwuvKQ97klk3bzyUPI6j154WC

Have a question you want answered in a future video? A challenging or interesting problem you need you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring:
https://github.com/sponsors/saturdaymp

Thanks for watching!

Posted in Code Examples, Saturday MP Show, Software Development | Tagged , , , , | Comments Off on SaturdayMP Show 86: Creating PostCast (Part 8 – Investigate Keyring Libraries)

SaturdayMP Show 85: Creating PostCast (Part 7 – Prompt for LinkedIn Credentials)

In this episode Omar and myself hook up the Post to LinkedIn button and prompt the user to enter the credentials for LinkedIn, and it all works. Not the best flow, but we are still in the proof of concept stage.

We also learn about Go structs and how you can attach methods to them so get something similar to an object in other languages.

*PostCast is just a place holder name and might change. The goofy PostCast placeholder image was generated by ChatGPT and will likely change.

Fyne:
https://fyne.io/

Go:
https://go.dev/

LinkedIn API:
https://developer.linkedin.com/

Omar:
https://www.ashour.ca/

SaturdayMP:
https://saturdaymp.com/

PostCast Playlist:
https://www.youtube.com/playlist?list=PLYPcrKbLqwuvKQ97klk3bzyUPI6j154WC

Have a question you want answered in a future video? A challenging or interesting problem you need you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring:
https://github.com/sponsors/saturdaymp

Thanks for watching!

Posted in Saturday MP Show | Tagged , , , , | Comments Off on SaturdayMP Show 85: Creating PostCast (Part 7 – Prompt for LinkedIn Credentials)

SaturdayMP Show 84: Creating PostCast (Part 6 – Create Fyne Main Screen)

In episode 84 of the SaturdayMP show, Omar Ashour and myself (Chris C.) create a very basic main screen using Fyne to input the text to post and a button to create the LinkedIn post. That said, the GUI doesn’t do anything yet, except look nice-ish. Lots of reading the Fyne documentation and experimenting with Fyne.

*PostCast is just a place holder name and might change. The goofy PostCast placeholder image was generated by ChatGPT and will likely change.

Fyne:
https://fyne.io/

Go:
https://go.dev/

PostCast Playlist:
https://www.youtube.com/playlist?list=PLYPcrKbLqwuvKQ97klk3bzyUPI6j154WC

Omar:
https://www.ashour.ca/

SaturdayMP:
https://saturdaymp.com/

Have a question you want answered in a future video? A challenging or interesting problem you need you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring:
https://github.com/sponsors/saturdaymp

Thanks for watching!

Posted in Code Examples, Saturday MP Show, Software Development | Tagged , , , | Comments Off on SaturdayMP Show 84: Creating PostCast (Part 6 – Create Fyne Main Screen)

SaturdayMP Show 83: Creating PostCast (Part 5 – Go PoC for LinkedIn API)

We get a Proof of Concept (PoC) in Go that completes the LinkedIn authorization. We end up figuring out the difference between a LinkedIn code and token. Get a code by entering your LinkedIn username and password, then use that code to get a token. We also spin up a local webserver to deal with the callback which is required to enter credentials and get the code.

*PostCast is just a place holder name and might change. The goofy PostCast placeholder image was generated by ChatGPT and will likely change.

LinkedIn Developer Console:
https://developer.linkedin.com/

Go:
https://go.dev/

PostCast Playlist:
https://www.youtube.com/playlist?list=PLYPcrKbLqwuvKQ97klk3bzyUPI6j154WC

Omar:
https://www.ashour.ca/

SaturdayMP:
https://saturdaymp.com/

Have a question you want answered in a future video? A challenging or interesting problem you need you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring:
https://github.com/sponsors/saturdaymp

Thank you for watching!

Posted in Code Examples, Saturday MP Show, Software Development | Tagged , , , | Comments Off on SaturdayMP Show 83: Creating PostCast (Part 5 – Go PoC for LinkedIn API)

SaturdayMP Show 82: Creating PostCast (Part 4 – Figuring out LinkedIn API)

Turns out getting a LinkedIn API key is confusing, at least for us. Did you know you need an Organization Page on @LinkedIn to get a key? You can’t just get an API key for yourself. No actual coding in this video, just lots of reading the LinkedIn docs and getting some curl scripts to work. If you have any tips for using LinkedIn API, let us know in the comments.

*PostCast is just a place holder name and might change. The goofy PostCast placeholder image was generated by ChatGPT and will likely change.

LinkedIn Developer Console:
https://developer.linkedin.com/

PostCast Playlist:
https://www.youtube.com/playlist?list=PLYPcrKbLqwuvKQ97klk3bzyUPI6j154WC

Omar:
https://www.ashour.ca/

SaturdayMP:
https://saturdaymp.com/

Have a question you want answered in a future video? A challenging or interesting problem you need you want to see solved? Constructive feedback? Then comment, DM me, or send an email to ask@saturdaymp.com.

Found this video useful? Then help others find it by liking, subscribing, sharing, and/or sponsoring:
https://github.com/sponsors/saturdaymp

Thank you for watching!

Posted in Saturday MP Show, Software Development | Tagged , , , | Comments Off on SaturdayMP Show 82: Creating PostCast (Part 4 – Figuring out LinkedIn API)