Content Developer II at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
132059 stories
·
29 followers

AGL 397: The Art of Influence with Jennifer Gardner

1 Share

About Jennifer

Jennifer B. Gardner is a Los Angeles-based trial lawyer, a persuasive communications educator, and a part-time administrative law judge for the County of Los Angeles.

Jennifer has operated her own litigation law firm for 32 years in Los Angeles where she has litigated complex business, real estate and criminal matters through trial.

She began her litigation career in the entertainment industry, has represented individuals in serious criminal cases, has advised and managed documentary filmmakers and visual artists, and today focuses on representing individuals and enterprises of all sizes in business and real estate disputes.

Jennifer has received Certifications from the Wharton School at the University of Pennsylvania in Executive Leadership and in Executive Presence, Influence and Persuasion.

She is a graduate of the Gerry Spence Trial Lawyers College and the Graduate Program at The Gerry Spence Method. Jennifer has honed her communication skills through the study of Somatic Experiencing, the Sanford Meisner Acting Method, and interspecies communications with Rupert Sheldrake at the Esalen Institute.

When she is not lawyering or learning, Jennifer educates high performing leaders on how to grow their executive presence and persuasive skills through programs offered through her company, The Edge Education (www.theedge.education).

She also consults with lawyers on strategic messaging for their cases and helps them with their courtroom presence.


Today We Talked About

  • Jennifer’s background
  • Law
  • Getting to Yes
  • Negotiation
  • Best Alternative to Negotiated Outcome
  • Managing your risk
  • Know your goal
  • Influence?
  • Push buttons
  • Play to the right side of the brain
  • System 1 and System 2 thinking
  • You need the Data
  • Empathy and Listening
  • Communication Styles
  • Slow down before the communication starts – Reflect
  • Understand the story and the history
  • Be a storyteller
  • Univeral truths and emotions
  • Not just what we say, but how we say
  • Mirroring
  • Practice with Zoom and ChatGPT
  • The PowerLab – the Art of Influence

Connect with Jennifer


Leave me a tip $
Click here to Donate to the show


I hope you enjoyed this show, please head over to Apple Podcasts and subscribe and leave me a rating and review, even one sentence will help spread the word.  Thanks again!





Download audio: https://media.blubrry.com/a_geek_leader_podcast__/mc.blubrry.com/a_geek_leader_podcast__/AGL_397_The_Art_of_Influence_with_Jennifer_Gardner.mp3?awCollectionId=300549&aw_0_azn.pgenre=Business&aw_0_1st.ri=blubrry&aw_0_azn.pcountry=US&aw_0_azn.planguage=en&cat_exclude=IAB1-8%2CIAB1-9%2CIAB7-41%2CIAB8-5%2CIAB8-18%2CIAB11-4%2CIAB26&aw_0_cnt.rss=https%3A%2F%2Fwww.ageekleader.com%2Ffeed%2Fpodcast
Read the whole story
alvinashcraft
2 hours ago
reply
West Grove, PA
Share this story
Delete

Balancing business and open source in 2024

1 Share
During the holidays, we’re releasing some highlights from a year full of conversations with developers and technologists. Enjoy! We’ll see you in 2025.
Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

Xmas Special: Investing in Software: Alternatives To Project Management For Software Businesses With Vasco Duarte

1 Share

Xmas Special: Investing in Software: Alternatives To Project Management For Software Businesses With Vasco Duarte

In the grand finale of the “5 Wishes for 2025” series, Vasco Duarte tackles the chaotic nature of software development and why traditional project management just doesn’t cut it. Drawing on lessons from weather models, butterflies, and Agile practices, Vasco presents a bold manifesto for how we can thrive in uncertainty.

Chaos Theory and Software Development

“Project management is like trying to predict where a butterfly will land after flying through a hurricane – good luck with that!”

Vasco begins with the story of Edward Lorenz, the MIT meteorologist who discovered what was later called the “butterfly effect.” This concept illuminates and explains the unpredictability of software development, where tiny changes can lead to massive, unexpected consequences – like a simple tweak spiraling into a full system refactor.

Why Traditional Project Management Falls Short

“Planning your year’s meals in January? That’s about as realistic as predicting October’s sushi cravings!”

Vasco humorously dismantles the premise of project management, which assumes stability, predictability, and complete information upfront. While Agile provides a more flexible approach, it’s often misused as “project management in disguise,” failing to unlock the true potential of adaptability.

The 2025 Manifesto: A New Way to Invest in Software

“Loving Gantt charts is like loving fax machines – there’s a better way!”

Vasco outlines his four-point manifesto for how organizations can thrive in uncertainty:

  1. Fund Software Incrementally: Treat funding like stock market investing – small, regular investments over time.

  2. Think Like an Investor: Focus on maximizing returns, not rigidly executing plans.

  3. Experiment by Default: Acknowledge that the best ideas come from testing and iterating.

  4. Give Teams End-to-End Ownership: Empower teams to own their work from idea to delivery, eliminating micromanagement.

The Need for Agility at All Levels

“Scrum teams in a project management organization are like race car drivers stuck in traffic jams – all that potential, nowhere to go!”

Vasco emphasizes that agility must extend beyond individual teams. Organizations need to embrace Agile principles at every level to avoid stifling innovation and potential. And his approach to funding and managing software investments does exactly that: bring agility to the decision making forums in the organization, instead of keeping it at the team level.

A Wish for 2025: Embrace the Chaos

“Butterflies don’t follow project plans, and neither does software development!”

Vasco’s final wish for 2025 is for organizations to stop forcing software into rigid project management frameworks. Instead, they should embrace the unpredictable nature of development, leveraging incremental funding, iterative experimentation, and team empowerment to thrive in uncertainty.

See It in Action: Global Agile Summit 2025

“Want to see how real organizations are thriving in chaos? Join us in Tallinn!”

Vasco invites listeners to the Global Agile Summit 2025 in Tallinn, Estonia, where forward-thinking organizations will share their stories of breaking free from traditional project management. Holiday listeners can grab a 75% discounted Super Early Bird ticket at GlobalAgileSummit.com.

About Vasco Duarte

Vasco Duarte is a thought leader in the Agile space, co-founder of Agile Finland, and host of the Scrum Master Toolbox Podcast, which has over 10 million downloads. Author of NoEstimates: How To Measure Project Progress Without Estimating, Vasco is a sought-after speaker and consultant helping organizations embrace Agile practices to achieve business success.

You can link with Vasco Duarte on LinkedIn.





Download audio: https://traffic.libsyn.com/secure/scrummastertoolbox/20241227_Vasco_Duarte_F.mp3?dest-id=246429
Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

Remove unwanted partition data in Azure Synapse (SQL DW)

1 Share

Introduction to Partition Switching?

Azure Synapse Dedicated SQL pool or SQL Server or Azure SQL Database, allows you to create partitions on a target table. Table partitions enable you to divide your data into multiple chunks or partitions. It improves query performance by eliminating partitions that is not necessary. In most cases partitions are built on date column.

Why don't we simply drop the unwanted Partition?

because of several regions:

  • Clustered Columnstore Index: Dropping a partition directly can potentially lead to performance degradation, especially with a CCI. This is because CCIs are optimised for data locality and dropping a partition disrupts that organisation. Rebuilding the CCI after dropping the partition would be required, which can be time-consuming for a large table.
  • Transaction Safety: Directly dropping a partition might not be a transactional operation. This means if the drop operation fails midway, the partition might be left in an inconsistent state, potentially causing data integrity issues.

Requirement to apply Partition Switching

  • The definitions of source and target tables are the same.

Steps for Partition Switching in Synapse SQL Pool:

Step 1 (Optional) -> Create a credential

Skip this step if you're loading the Contoso public data.

Don't skip this step if you're loading your own data. To access data through a credential, use the following script to create a database-scoped credential. Then use it when defining the location of the data source.

CREATE MASTER KEY; CREATE DATABASE SCOPED CREDENTIAL AzureStorageCredential WITH IDENTITY = 'Managed Identity', SECRET = 'https://rnd-learning.vault.azure.net/secrets/synapselearningadls-accesskey/d94c967cb0c5452eafaf5d207afcb86a' ; CREATE EXTERNAL DATA SOURCE AzureStorage WITH ( TYPE = HADOOP, LOCATION = 'wasbs://<blob_container_name>@<azure_storage_account_name>.blob.core.windows.net', CREDENTIAL = AzureStorageCredential );
  • MASTER KEY is required to encrypt the credential secret in the next step.
  • IDENTITY refers to the type of authentication you're using. Here I am using Managed Identity, because I allow Azure Synapse workspace to securely connect to and authenticate with Azure Key Vault without having to embed any credentials directly in your code.
  • TYPE is HADOOP because, PolyBase uses Hadoop APIs to access data in Azure blob storage.

Step 2 -> Create the external data source

Use this command to store the location of the data, and the data type.

CREATE EXTERNAL DATA SOURCE AzureStorage_west_public WITH ( TYPE = Hadoop, LOCATION = 'wasbs://contosoretaildw-tables@contosoretaildw.blob.core.windows.net/' );

Step 3 -> Configure the data format

The data is stored in text files in Azure blob storage, and each field is separated with a delimiter. Use this command to specify the format of the data in the text files. The Contoso data is uncompressed, and pipe delimited.

CREATE EXTERNAL FILE FORMAT TextFileFormat WITH ( FORMAT_TYPE = DELIMITEDTEXT, FORMAT_OPTIONS ( FIELD_TERMINATOR = '|', STRING_DELIMITER = '', DATE_FORMAT = 'yyyy-MM-dd HH:mm:ss.fff', USE_TYPE_DEFAULT = FALSE ) );

Step 4 -> Create the schema for the external tables

To create a place to store the Contoso data in your database, create a schema.

CREATE SCHEMA [asb] GO

Step 5 -> Create the external tables

Run the following script to create the FactOnlineSales external tables. All you're doing here is defining column names and data types, and binding them to the location and format of the Azure blob storage files. The definition is stored in the data warehouse and the data is still in the Azure Storage Blob.

CREATE EXTERNAL TABLE [asb].FactOnlineSales ( [OnlineSalesKey] [int] NOT NULL, [DateKey] [datetime] NOT NULL, [StoreKey] [int] NOT NULL, [ProductKey] [int] NOT NULL, [PromotionKey] [int] NOT NULL, [CurrencyKey] [int] NOT NULL, [CustomerKey] [int] NOT NULL, [SalesOrderNumber] [nvarchar](20) NOT NULL, [SalesOrderLineNumber] [int] NULL, [SalesQuantity] [int] NOT NULL, [SalesAmount] [money] NOT NULL, [ReturnQuantity] [int] NOT NULL, [ReturnAmount] [money] NULL, [DiscountQuantity] [int] NULL, [DiscountAmount] [money] NULL, [TotalCost] [money] NOT NULL, [UnitCost] [money] NULL, [UnitPrice] [money] NULL, [ETLLoadID] [int] NULL, [LoadDate] [datetime] NULL, [UpdateDate] [datetime] NULL ) WITH ( LOCATION='/FactOnlineSales/', DATA_SOURCE = AzureStorage_west_public, FILE_FORMAT = TextFileFormat, REJECT_TYPE = VALUE, REJECT_VALUE = 0 );

Step 6 -> Load the data

There are different ways to access external data. You can query data directly from the external tables, load the data into new tables in the data warehouse, or add external data to existing data warehouse tables.

Step 6.1 -> Create a new schema
CREATE SCHEMA [cso] GO
Step 6.2 -> Load the data into new tables

To load data from Azure blob storage into the data warehouse table, use the CREATE TABLE AS SELECT (Transact-SQL) statement.

CTAS creates a new table and populates it with the results of a select statement. CTAS defines the new table to have the same columns and data types as the results of the select statement. If you select all the columns from an external table, the new table will be a replica of the columns and data types in the external table.

CREATE TABLE [cso].[FactOnlineSales] WITH ( CLUSTERED COLUMNSTORE INDEX, DISTRIBUTION = HASH([ProductKey]), PARTITION ( [DateKey] RANGE RIGHT FOR VALUES ( '2007-01-01 00:00:00.000','2008-01-01 00:00:00.000', '2009-01-01 00:00:00.000','2010-01-01 00:00:00.000' ) ) ) AS SELECT * FROM [asb].FactOnlineSales;

With this statement I have created 5 partitions in the [cso].[FactOnlineSales] table, each of which has the duration of a year, except the first that contains all rows with DateKey < 2007–01–01 and the last that contains all rows with DateKey ≥ 2010–01–01.

Step 7 -> Create an empty partition table

Now do the same thing for the target table. Here I forcefully created empty table, for switching with source table.

CREATE TABLE [cso].[FactOnlineSales_out] WITH ( CLUSTERED COLUMNSTORE INDEX, DISTRIBUTION = HASH([ProductKey]), PARTITION ( [DateKey] RANGE RIGHT FOR VALUES ( '2007-01-01 00:00:00.000' ) ) ) AS SELECT * FROM [cso].[FactOnlineSales] WHERE 1 = 2;

NOTE: If you are switching out the partition (means deleting the partition) you can partition data out to any table irrespective of whether that table is partition or not. So here data will be switched from partition table to a non-partition table. But if you are switching in the partition (means switching the partition with new data), there is a strict criterion where you have to same partitioning boundary define.

Step 8 -> Switch the Partition

Here I switched out the partition. Now after switch; [cso].[FactOnlineSales_out] has the data about Jan 1st, 2007, till December 31st, 2007. While the [cso].[FactOnlineSales] has no data in partition 2.

ALTER TABLE [cso].[FactOnlineSales] SWITCH PARTITION 2 TO [cso].[FactOnlineSales_out] PARTITION 2;

NOTE: The command is very simple, but there is one catch; it requires the partition number of source and target tables to perform the switching.

Validating partition switching for both source and target table.

Step 9 -> Delete the staging table

Based on your requirement, delete this table or archive the data of this table as cold data.

DROP TABLE [cso].[FactOnlineSales_out];

What happens during the Partition Switch?

Before the Switch:

  1. Imagine the data for FactOnlineSales is physically stored on disk, potentially spread across multiple files.
  2. Each partition in FactOnlineSales has its own metadata entry that keeps track of the specific locations of it's data on disk.

During the Switch (using partition X as the example):

  1. You identify partition X (containing old data) in FactOnlineSales.
  2. The ALTER TABLE SWITCH statement updates the metadata entries for both tables:
    • In FactOnlineSales, the metadata entry for partition X is modified to point to an empty location on disk. This essentially signifies that partition X is now "empty" within FactOnlineSales.
    • In FactOnlineSales__out, a new metadata entry is created for partition X. This new entry points to the same physical location on disk where the data for partition X already resides (remember, the data itself doesn't move).

After the Switch:

Both FactOnlineSales and FactOnlineSales__out have metadata entries for partition X. However, these entries point to different things:

  • FactOnlineSales entry points to an empty location, indicating the partition is no longer actively used within that table.
  • FactOnlineSales__out entry points to the actual data location, making it appear like FactOnlineSales "owns" that partition.

How to check or verify the number of partitions?

SQL Pool provides different system, that is used to query the different metadata for all the objects that is in the SQL Pool. And one of the system views that provides all the information related to partition, number of rows in that partition and all those things is sys.dm_pdw_nodes_db_partition_stats

Use this script to check the number of partitions.

SELECT pnp.partition_number, sum(nps.[row_count]) AS Row_Count FROM sys.tables t INNER JOIN sys.indexes i ON t.[object_id] = i.[object_id] AND i.[index_id] <= 1 /* HEAP = 0, CLUSTERED or CLUSTERED_COLUMNSTORE =1 */ INNER JOIN sys.pdw_table_mappings tm ON t.[object_id] = tm.[object_id] INNER JOIN sys.pdw_nodes_tables nt ON tm.[physical_name] = nt.[name] INNER JOIN sys.pdw_nodes_partitions pnp ON nt.[object_id]=pnp.[object_id] AND nt.[pdw_node_id]=pnp.[pdw_node_id] AND nt.[distribution_id] = pnp.[distribution_id] INNER JOIN sys.dm_pdw_nodes_db_partition_stats nps ON nt.[object_id] = nps.[object_id] AND nt.[pdw_node_id] = nps.[pdw_node_id] AND nt.[distribution_id] = nps.[distribution_id] AND pnp.[partition_id]=nps.[partition_id] WHERE t.name='FactOnlineSales' GROUP BY pnp.partition_number;
Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

Install SharePoint Subscription

1 Share
SharePoint Subscription Edition is the latest evolution of Microsoft’s on-premises collaboration platform. Unlike its predecessors, this version introduces the subscription model, ensuring regular updates without the need for manual upgrades. It is ideal for organizations that prefer an on-premises solution but want the benefits of modern cloud-like features. SharePoint Server Subscription Edition >> Key Benefits: […]
Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

Podcast: Leveraging AI Platforms to Improve Developer Experience – From Personal Hackathon to AI at Scale

1 Share

In this podcast Shane Hastie, Lead Editor for Culture & Methods spoke to Olalekan Elesin about how generative AI tools can elevate developer experience by enabling engineers to be more creative and productive. He stresses the need to manage expectations, develop prompt engineering skills, and maintain a focus on security and customer privacy when leveraging these tools in an enterprise setting.

By Olalekan Elesin
Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete
Next Page of Stories