- Discovered Invoke-PnPGraphMethod cmdlet in the PnP.PowerShell Module, which gives the twofold benefit of expanding PnP’s capabilities to the breadth of the entire Graph API while also removing the complexity of authenticating to the API (Microsoft themselves recommend a system like this to simplify the authentication process).
- Began studying Graph API to expand automation capabilities beyond the limits of PowerShell modules like PnP.PowerShell and Microsoft.Graph.
- Completed Introduction to Microsoft Copilot | Pluralsight
- Began testing GitHub Copilot.
Azure App Inventory Script
- Languages: PowerShell, GraphQL
- Difficulty tracking dozens of app registrations in Azure and, to a greater extent, their secrets and certifications.
- Reads Azure App Registrations from Microsoft Entra and posts them to a Monday.com board.
- All secrets and certificates are catalogued onto a separate Monday.com board with their expiration dates.
- Statuses are assigned to items by the remaining validity time and alerts are generated as items approach / pass expiration.
Monday.com Productivity Script
- Languages: PowerShell, HTML
- Justification: Need to manage assigned work and schedules from different boards on Monday.com
- Reads multiple work boards from Monday.com
- Identifies items that are in need of metadata, items with approaching / passed due dates, and items that have not been updated within a specified time period.
- Totals team members’ meeting durations for the week.
- Generates an email summarizing these findings to assist team members and managers in weekly planning.
- Posts KPIs to a weekly scorecard to review on team meeting.
Personal Project – Mint.com Replacement
- Languages: Python, Excel Formulas
- Justification: Intuit retired its financial management service, Mint. No trustworthy, user-friendly and free alternatives remained.
- Excel Workbook Component
- All-in-one workbook for tracking financial information and trends. Used the following sheets:
- Categories Sheet – Tracks all categories that could be attributed to a budget or transaction.
- Constants Sheet – Tracks key constants to be used in calculations on the rest of the workbook (including month start and end dates for the year)
- Transactions Sheet – Tracks all financial transactions that could be considered income or expenditure.
- Budget Sheet – Keeps track of budget allotments for each categories and compares them against the actual values pulled from the Transactions Sheet.
- Python Component
- Attempted to replace the automated nature of Mint by writing code that would automatically pull transaction information from financial institutions. I discovered (in retrospect, unsurprisingly) that banks seldom make their APIs publicly available.
- My second option was to use a service like Plaid to compile transaction information, but I didn’t want to run into limitations with their free licensing option.
- My third and final option was to simply create a CSV transaction-ingestion tool that would do the following:
- Read a CSV (using the pandas library) from a financial institution.
- Determine which institution the file was from.
- Re-format the data to match the Transactions Sheet on the workbook.
- Append the transactions to the Transactions Sheet.
- Create workbook and CSV backups as needed.
- In the end, I did achieve this basic level of functionality, but determined that the workflow of downloading / importing / categorizing and reporting on data was more work than it was worth.
- TLDR – It doesn’t pass the “Wife Test” and I’m on a trial of Monarch.
- Listened to the audiobook of Stephen Fry’s Mythos, which is a highly-amusing modern retelling of Greek Mythology.
- Started watching Community (I know – I’m 15 years late)
- Trying to branch out my music playlists. This month, discovered this album, Jazz Hymns by Network Music Ensemble, which has, as the name implied, really enjoyable jazz renditions of hymns.