My Takeaway from Talking to Strangers by Malcolm Gladwell

Taking to Strangers book cover.

Book: Talking to Strangers
Author: Malcolm Gladwell

This book has a lot of stories that include a police stop gone wrong, pyramid scheme, Cuban spies, drinking, sexual assault, and torture. A bit hard to follow all the different stories and pick out a theme for the book. At least for me.

My biggest takeaway was finding the balance between trust and doubt. The book points out that most humans are wired to trust by default. We believe what others say and this trust can override nagging doubts.

At first this seems like a bad thing that we humans are so trusting but the book does a good job of highlighting an example of someone who has doubts by default. In the story about Bernie Madoff, who ran the largest Ponzi scheme in history, Harry Markopolos noticed right away that something was wrong with Madoff’s investments but had trouble convincing people. He started getting paranoid and not trusting anyone which, from my take, made it harder from him to find people to report his suspicions of Madoff too and likely made it hard for the people he did contact to believe him. The chapter ends with the lines:

Then he [Markopolos] dug out his gas mask from his army days. What if they came in using tear gas? He sat at home, guns at the ready – while the rest of us calmly went about our business.

I am too trusting by default and got burned a couple times. For example, contractors working on our home. I ignored the signs and ended up with a partially completed basement reno with lots of problems I had to fix myself or hire someone else to fix.

This book was good reminder to listen to my gut feel that something is not right. Politely but firmly push back and verify if my gut feelings are correct or not. Especially for items that will have a big impact on my life, such as expensive renovation. Just don’t take it too far so I mistrust everyone and end up holed up in my house with guns at the ready.

Posted in Business Side, Takeaways | Tagged , , | Comments Off on My Takeaway from Talking to Strangers by Malcolm Gladwell

Saturday MP Show #15: PR Created for Standard Ruby Linter Bug

I finally create the PR for Standard Ruby Linter Bug I’ve been working on the base several videos and months. I also fix the merge conflict noticed in the previous video.

Read about the bug I’m trying to fix here and the PR here.

Thanks to Test Double for creating Standard! It is a great linter for Ruby projects.

Have question you want answered in a future video? A question I should ask you? Pair on a problem? Constructive feedback? Comment, DM me, or send an email to ask@saturdaymp.com.

Need help shipping secure high quality software faster? Check out Saturday Morning Productions consulting.

Posted in Saturday MP Show, Software Development | Tagged , , , , | Comments Off on Saturday MP Show #15: PR Created for Standard Ruby Linter Bug

XPlugins.iOS.BEMCheckBox v3.0.1 Released (.NET 6.0+ Support)!

BEMCheckBox Example Gif

I’m happy to announce that v3.0.1 of the XPlugins.iOS.BEMCheckBox has been released! This release updates XPlugins.iOS.BEMCheckBox so it can be used in .NET 6.0 and higher projects (e.g. net6.0-ios12). You can find the latest release on NuGet here.

You can ignore the v3.0.0 release. The NuGet package incorrectly listed the minimum iOS version as 16.1 (e.g. net6.0-ios16.1) instead of 12.0 (e.g. net6.0-ios12).

Let me know if you spot an issue or have an improvement by opening an issue.

Thank you Boris-Em for creating BEMCheckBox. Myself, and others, really appreciate it.

Posted in Releases, Software Development | Tagged , , , , | Comments Off on XPlugins.iOS.BEMCheckBox v3.0.1 Released (.NET 6.0+ Support)!

Saturday MP Show #14: Rate Limiting with NGINX and Fail2Ban

A rate limiting demonstration using NGINX and Fail2Ban based on a presentation that I gave at BSides Edmonton in 2022. Follow along with the GitHub repo here.

Be sure to admire the seamless editing due to a power outage issue towards the end of the video.

Thank you to BSides Edmonton for allowing me to present last year. I also had a great time as an attendee at the 2023 conference.

Have question you want answered in a future video? A question I should ask you? Pair on a problem? Constructive feedback? Comment, DM me, or send an email to ask@saturdaymp.com.

Contact me if you need help shipping secure high quality code faster. Learn more at Saturday Morning Productions.

Posted in Uncategorized | Comments Off on Saturday MP Show #14: Rate Limiting with NGINX and Fail2Ban

Saturday MP Show #13: Merge Conflict when trying to create a PR for the Standard Ruby Linter Bug

I attempted to create a pull request (PR) for the Standard Ruby Linter bug I’ve fixed but ran into a merge conflict. Didn’t create the PR but did figure out the solution to the merge conflict that will be fixed in the next video.

Read about the bug I’m trying to fix here. Other videos fixing the Standard Ruby Linter Todo Bug:

Thanks to Test Double for creating Standard! It is a great linter for Ruby projects.

Have question you want answered in a future video? A question I should ask you? Pair on a problem? Constructive feedback? Ping me at ask@saturdaymp.com.

Need help shipping secure high quality software faster? Check out Saturday Morning Productions consulting.

Posted in Saturday MP Show, Software Development | Tagged , , , , | Comments Off on Saturday MP Show #13: Merge Conflict when trying to create a PR for the Standard Ruby Linter Bug

See you at BSides Edmonton 2023

I am excited to announce that I’ll be attending BSides Edmonton this year! I’m looking forward to increasing my cyber security knowledge from the talksCTF, and fellow attendees.

Specially I’m looking to learn the latest best practices for protecting my clients websites and their underlying servers. Is this something you can help me with? If so let me know and we can chat either at the conference or some other time.

I’m also happy to chat about software development, DevOps, legacy code, board games, Warhammer 40K lore, amount other things. I’m also happy to pair on some CTF problems.

Posted in Security | Tagged , | Comments Off on See you at BSides Edmonton 2023

Saturday MP Show #12: Refactoring of a System Test While Fixing the Standard Ruby Linter ToDo Bug

Getting to the end of fixing the Standard Ruby Linter ToDo bug. In this video I refactor and remove duplicate code from a system tests that are similar. It goes well for the most part. The only hiccup is the trying to figure a way to run setup code once for all the tests in the file.

Read about the bug I’m trying to fix here. Other videos fixing the Standard Ruby Linter Todo Bug:

Thanks to Test Double for creating Standard! It is a great linter for Ruby projects.

Have question you want answered in a future video? A question I should ask you? Pair on a problem? Constructive feedback? Send an email to ask@saturdaymp.com.

Posted in Code Examples, Saturday MP Show, Software Development | Tagged , , , , , | Comments Off on Saturday MP Show #12: Refactoring of a System Test While Fixing the Standard Ruby Linter ToDo Bug

SaturdayMP Show #11: Refactoring System Tests for the Standard Ruby Linter Todo Bug

The system test is finally working!! I go over, again, why it’s important to make sure your tests fail. Now that the test is working I start refactoring it to remove duplicate code.

Spent longer then I would have thought trying to get a before setup method to work in MiniTest. During my investigation I think I got the JetBrains AI to suggest a fix for a MiniTest PR that was rejected which was interesting to see.

Read about the bug I’m trying to fix here.

Other videos fixing the Standard Ruby Linter Todo Bug:

Thanks to TestDouble for creating Standard! It is a great linter for Ruby projects.

Have question you want answered in a future video? A question I should ask you? Pair on a problem? Constructive feedback? Send an email to ask@saturdaymp.com.

Contact me if you need help shipping secure high quality software faster. See Saturday Morning Productions for more details.

Posted in Code Examples, Saturday MP Show, Software Development | Tagged , , , , | Comments Off on SaturdayMP Show #11: Refactoring System Tests for the Standard Ruby Linter Todo Bug

XPlugins.iOS.BEMCheckBox v2.0.0 Released!

I’m happy to announce that XPlugins.iOS.BEMCheckBox v2.0.0 has been released! This a wrapper for the BEMCheckBox which lets you create highly customizable, animated checkboxes for iOS. You can find the v2.0.0 NuGet package here.

BEMCheckBox Example Gif

This release includes all the fixes to the underlying BEMCheckBox from v1.4.1 to v2.0.0. This includes the following breaking changes:

  • Minimum iOS version was increased from 8.4 to 12.
  • Events renamed:
    • DidTapCheckBox renamed to DidTap
    • AnimationDidStopForCheckBox to AnimationDidStopFor

Give it a try and let me know if you spot any errors or improvements by opening a issue or pull request. Please also send me any questions you have via a issue.

Thank you Boris-Em for creating BEMCheckBox. Myself, and likely lots of other people, really appreciate it.

Posted in Releases, Software Development | Tagged , , , , , , | Comments Off on XPlugins.iOS.BEMCheckBox v2.0.0 Released!

Saturday MP Show #10: Finally get the System Test Working for the Standard Ruby Linter ToDo Bug

I get my system test working at the start of video but the problem is it works so well that it still passes even after I re-introduce the bug when it should have failed. Crap! That means my test is not working correctly.

I spend the rest of the video trying to figure out why the test is not failing when it should and get very frustrated. So frustrated this became my longest video yet at over two hours! End up digging into the RuboCop code to try and figure out what is going on. I do figure out the problem at the end of the video in a ah-ha moment. Spoiler: the problem was I didn’t link to the Standard config file correctly.

My personal takeaway from the video is I should have taken a break and viewed the problem later with fresh eyes and brain. A problem I’ve struggled with for as long as I can remember. Always easier to notice in hindsight.

On the plus side I think this video highlights the importance of making sure your test fails. Either by writing the test before your fix (e.g. test first development) or by reverting the fix like I did in this video. Writing passing tests is easy. Writing passing tests that actually correctly test your fix is harder.

Sorry for the long video and long sections of me thinking and not talking. Unless you like long videos of me struggling in silence, then you are welcome.

Read about the bug I’m trying to fix here.

Other videos fixing the Standard Ruby Linter Todo Bug:

Thanks to Test Double for creating Standard! It is a great linter for Ruby projects.

Have question you want answered in a future video? A question I should ask you? Pair on a problem? Constructive feedback? Send an email to ask@saturdaymp.com.

Contact me if you need help shipping secure high quality software faster. More details at Saturday Morning Productions.

Posted in Code Examples, Saturday MP Show, Software Development | Tagged , , , , | Comments Off on Saturday MP Show #10: Finally get the System Test Working for the Standard Ruby Linter ToDo Bug