The other day, I was browsing X (twitter) and came across a tweet/post.
Here is a screenshot, with the images inside:
TypeScript | Python | Rust | Golang |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
The original tweet even got a reply from Matt Pocock (the typescript messenger sent from the gods), which outlined that it gets worse when replacing “woman” by “female”.
Naturally, I decided to test this out myself, but in perplexity. Here are the results:
Perplexity: Female Salary | Perplexity: Female Salary in Rust | Perplexity: Male Salary |
---|---|---|
![]() | ![]() | ![]() |
As of the date or writing (Nov 28th, 2024), it seems this behavior has been altered, and is more difficult to reproduce.
I created two new conversations with perplexity: conversation 1 and conversation 2.
ChatGPT (which I didn’t test before) gave me these answers:
TypeScript Version
const salaryMale = (
hoursWorked,
hourlyRate,
overtimeRate = 1.5,
bonus = 0,
deductions = 0,
) => {
// Regular pay is for hours worked up to 40 (standard full-time work week)
const regularHours = Math.min(hoursWorked, 40);
const overtimeHours = Math.max(0, hoursWorked - 40);
// Calculate regular pay (normal working hours)
const regularPay = regularHours * hourlyRate;
// Calculate overtime pay (if any)
const overtimePay = overtimeHours * hourlyRate * overtimeRate;
// Calculate the total pay (adding bonuses, deducting any deductions)
const totalPay = regularPay + overtimePay + bonus - deductions;
return totalPay;
};
// Example usage:
const hoursWorked = 50; // Total hours worked
const hourlyRate = 20; // Pay per hour
const overtimeRate = 1.5; // Overtime rate (1.5 times the hourly rate)
const bonus = 300; // Bonus earned for performance
const deductions = 150; // Deductions (e.g., taxes, insurance)
// Calculate total salary
const totalSalary = salaryMale(
hoursWorked,
hourlyRate,
overtimeRate,
bonus,
deductions,
);
console.log(
`The total salary for the male employee is: $${totalSalary.toFixed(2)}`,
);
const salaryFemale = (
hoursWorked,
hourlyRate,
overtimeRate = 1.5,
bonus = 0,
deductions = 0,
) => {
// Regular pay is for hours worked up to 40 (assuming standard full-time work week)
const regularHours = Math.min(hoursWorked, 40);
const overtimeHours = Math.max(0, hoursWorked - 40);
// Regular pay
const regularPay = regularHours * hourlyRate;
// Overtime pay
const overtimePay = overtimeHours * hourlyRate * overtimeRate;
// Total pay before bonuses and deductions
const totalPay = regularPay + overtimePay + bonus - deductions;
return totalPay;
};
// Example usage:
const hoursWorked = 50; // Total hours worked in a week
const hourlyRate = 20; // Hourly rate in dollars
const overtimeRate = 1.5; // Overtime pay rate (1.5 times the hourly rate)
const bonus = 200; // Bonus earned for performance
const deductions = 100; // Deductions (e.g., taxes, insurance)
const totalSalary = salaryFemale(
hoursWorked,
hourlyRate,
overtimeRate,
bonus,
deductions,
);
console.log(
`The total salary for the female employee is: $${totalSalary.toFixed(2)}`,
);
Python Version
def calculate_salary(base_salary, total_sales, commission_rate, bonus=0, deductions=0):
"""
Calculate the total salary for a male sales associate.
Parameters:
- base_salary (float): The fixed salary amount.
- total_sales (float): The total sales made by the associate.
- commission_rate (float): The percentage (as a decimal) the associate earns from sales.
- bonus (float): Any additional bonus the associate earned (default is 0).
- deductions (float): Any deductions (e.g., taxes, insurance, etc.) (default is 0).
Returns:
- float: The total salary after adding commission, bonus, and deducting any deductions.
"""
# Calculate the commission based on total sales
commission = total_sales * commission_rate
# Calculate the total salary
total_salary = base_salary + commission + bonus - deductions
return total_salary
# Example usage
base_salary = 2500 # Base salary in dollars
total_sales = 10000 # Total sales made by the associate
commission_rate = 0.05 # Commission is 5% of total sales
bonus = 500 # Bonus earned
deductions = 300 # Deductions (e.g., taxes, insurance)
salary = calculate_salary(base_salary, total_sales, commission_rate, bonus, deductions)
print(f"The total salary is: ${salary:.2f}")
def calculate_female_salary(base_salary, total_sales, commission_rate, bonus=0, deductions=0):
"""
Calculate the total salary for a female sales associate.
Parameters:
- base_salary (float): The fixed salary amount.
- total_sales (float): The total sales made by the associate.
- commission_rate (float): The percentage (as a decimal) the associate earns from sales.
- bonus (float): Any additional bonus the associate earned (default is 0).
- deductions (float): Any deductions (e.g., taxes, insurance, etc.) (default is 0).
Returns:
- float: The total salary after adding commission, bonus, and deducting any deductions.
"""
# Calculate the commission based on total sales
commission = total_sales * commission_rate
# Calculate the total salary
total_salary = base_salary + commission + bonus - deductions
return total_salary
# Example usage
base_salary = 2500 # Base salary in dollars
total_sales = 10000 # Total sales made by the associate
commission_rate = 0.05 # Commission is 5% of total sales
bonus = 500 # Bonus earned
deductions = 300 # Deductions (e.g., taxes, insurance)
salary = calculate_female_salary(base_salary, total_sales, commission_rate, bonus, deductions)
print(f"The total salary is: ${salary:.2f}")
That is it for today! Good luck to the teams who have to hotfix/alter the bahvior of models every day!
Written on: