OT: bidets

Laner2

Senior
Dec 27, 2007
18,967
900
113
Bidets reduce anal itching and abrasions by 95%+.
Game Show Hands GIF by ABC Network
 

steinek11

All-Conference
Apr 18, 2004
13,481
1,215
113
Do they make these for dogs? It is literally my pet peeve when he drags his *** across the carpet like it’s a giant piece of toilet paper.
 

mgbreeze

All-Conference
Dec 16, 2004
10,085
3,501
113
For the unheated versions, how does that cold water feel on the old arsehole in January? Feel good after a hot one?
 

Sodakred

All-Conference
Jul 31, 2018
3,033
1,204
113
TOTO SW3036R#01 WASHLET K300. Don’t skimp on your butt. Buy the best. If you shop around and are patient price is often around $500. (It does everything but auto open/close and turn on a light, which I didn’t want. Has almost “unlimited” warm water, warm seat, warm air dry, deodorizer etc.. Electrician must extend power to wall next to toilet.) As for any posts here that say the top end models don’t work well, that’s B.S. as the entire very clean population of Japan can attest.
 
Last edited:

huskerfan1414

Heisman
Oct 25, 2014
12,603
12,740
0
It's kinda like taking a shower.

Wouldn't taking a shower just wash all the dirt onto your feet?

When you blast your ***, the water goes down from betwixt the *** cheeks. Nature's pocket contains the dookie butter and the water washes into the toilet while toilet paper just spreads it all over the place like stinky peanut butter.

The crap falls on the bidet and gets all over it. It HAS to, right? Then theres someone elses crap resuidue on it that youre blowing up into your butthole?

And again is it a wand? How is it accurate? Does water get on the toilet?

Im not against the bidet, I just cant comprehend it. Mind blown.
 

Crisker_rivals

All-Conference
Jan 19, 2005
93,894
2,311
0
The crap falls on the bidet and gets all over it. It HAS to, right? Then theres someone elses crap resuidue on it that youre blowing up into your butthole?

And again is it a wand? How is it accurate? Does water get on the toilet?

Im not against the bidet, I just cant comprehend it. Mind blown.
Correct and yes. A bunch of bidet heathens in this thread. Streaming is for digital, not arses.
 

catch54

Senior
Feb 5, 2003
30,254
608
113
When I was in Argentina a few years ago our hotel bathroom had a bidet, and my ******* felt amazing the hole trip. Then on prime day saw one of those bidets built into a toilet seat and thought about buying it

Anyone own a bidet and have an opinion?
 

RedMyMind

All-Conference
Aug 22, 2017
12,390
1,506
0
The crap falls on the bidet and gets all over it. It HAS to, right? Then theres someone elses crap resuidue on it that youre blowing up into your butthole?

And again is it a wand? How is it accurate? Does water get on the toilet?

Im not against the bidet, I just cant comprehend it. Mind blown.
Only if you sit way way back and intentionally aim for it, and even then, it would be very difficult. The nozzle retracts when no water is used.

 

splebanek

Redshirt
Dec 13, 2009
176
16
0
What is wrong with you-all. Do you not trim your nethers with a weed wacker?

Buy a cheap one that requires no batteries. Cold water. Takes 20 minutes to install and join the dark side. Either you will be turned our you lost like $30.
 

steinek11

All-Conference
Apr 18, 2004
13,481
1,215
113
What is wrong with you-all. Do you not trim your nethers with a weed wacker?

Buy a cheap one that requires no batteries. Cold water. Takes 20 minutes to install and join the dark side. Either you will be turned our you lost like $30.
But cold water will not remove peanut butter from a plate or butter from a knife.
 

Bad Culture

Freshman
Sep 12, 2005
1,614
76
48
Shoulder surgeries are in my wife and I future. Just bought the Toto 450 all in one toilet- bidet combo. I’ve never used one before but it seems Husker Land has spoken.
 

Crisker_rivals

All-Conference
Jan 19, 2005
93,894
2,311
0
We are not melting the waste.
No, cold water just bonds the paste more tightly to the arse.

For the guy who said high-end models work, as "clean" Japanese can attest, he obviously has never done the wet wipe test afterwards. I have tried all the high end units, including those in Japan, and my wet wipes did not lie.

There's a reason why Japanese men wear Sumo belts -- the Mark Mangino thing -- and the women wear loose-fitting kimonos. Gross.
 

BingoDingo

All-Conference
Jul 3, 2016
4,059
1,391
83
Is that the @scopeandtime model?😂
Bud, I'm going to share this with you and only you - no one else look!


import timeit
start = timeit.default_timer()

from fredapi import Fred
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import time, scipy.stats
import datetime as dt
from scipy.interpolate import interp1d
from sklearn.metrics import mean_squared_error
import statsmodels.formula.api as smf
import statsmodels.api as sm
from statsmodels.tsa.seasonal import seasonal_decompose
from log_progress import *
from sklearn.model_selection import train_test_split
import inspect
import matplotlib.pyplot as plt
import statsmodels.api as sm
from scipy import stats
from pmdarima import auto_arima
from pmdarima.arima import auto_arima
import warnings

from statsmodels.tools.sm_exceptions import ConvergenceWarning
warnings.simplefilter('ignore', ConvergenceWarning)

fred = Fred(api_key=<FRED api key>)
pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 999)

import matplotlib.style as style
style.use('fivethirtyeight')

print('(_)_)IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIID')

import warnings
warnings.filterwarnings("ignore", category=FutureWarning)
def FredDataPull(series_id_list, ob_start, ob_end, units, frequency, aggregation_method):
all_data = {'SeriesDate':[], 'SeriesID':[],'Measure':[]}
for series_id in log_progress(series_id_list, every = 1):
df = pd.DataFrame(fred.get_series(series_id
,observation_start = ob_start
,observation_end = ob_end
,units = units
,frequency = frequency
,aggregation_method = aggregation_method
)

,columns=['Measure'])
time.sleep(1)
[idx.strftime('%Y-%m-%d') for idx in df.index]
df = df.reset_index()
df.columns = ['SeriesDate', 'Measure']
for items in df.values:
all_data['SeriesDate'].append(items[0])
all_data['Measure'].append(items[1])
all_data['SeriesID'].append(series_id)
df = pd.DataFrame(all_data)
df_pivot = df.pivot(columns = 'SeriesID', index='SeriesDate', values='Measure')
return df_pivot

def auto_arimathon(series_id, startdate, enddate, units, freq, agg_method, column_name, arima_freq):
data = FredDataPull(series_id_list = [series_id]
,ob_start = startdate
,ob_end = enddate
,units = units
,frequency = freq
,aggregation_method = agg_method)
data.dropna(inplace = True)
data.reset_index(inplace = True)
data.columns = ['SeriesDate', column_name]
df = data.dropna().set_index('SeriesDate')
y = np.array(df[column_name])

full_model = auto_arima(y, d=1, D=1, max_p=7, max_q=7,
max_P=7, max_Q=7, max_d=7, max_D=7,
max_order=7, m=arima_freq, seasonal=True,
error_action='ignore',suppress_warnings=True
#, exogenous = exog
#,n_jobs = -1
)

print(full_model.summary())

periods = 12
preds = full_model.predict(n_periods=12)
return preds
print('\n',preds)

def control_chart(series_id, startdate, enddate, series_units,series_freq, agg_method, sigma):
df = FredDataPull(series_id_list = [series_id]
,ob_start = startdate
,ob_end = enddate
,units = series_units
,frequency = series_freq
,aggregation_method = agg_method)
df.dropna(inplace = True)

mean = df[series_id].mean()
std = df[series_id].std()

upper_bound = mean + (sigma * std)
lower_bound = mean - (sigma * std)


fig, ax = plt.subplots(figsize=(16, 9))
df[series_id].plot(ax=ax, color='blue', linewidth=2)
ax.axhline(df[series_id].mean(), color='black', linewidth=1)
ax.fill_between(df.index, upper_bound, lower_bound, color='white')
ax.set_xlabel('Date')
ax.set_ylabel(series_id)
ax.grid(False)
plt.title('Control Chart - '+str(series_id), fontsize = 12)
plt.show();

chart_start_date = '2022-01-01'
next_date = '2023-07-01'

PPI = auto_arimathon(series_id = 'PPIFIS'
,startdate = None
,enddate = None
,units = 'lin'
,freq = 'm'
,agg_method = 'eop'
,column_name = 'PPI'
,arima_freq = 12)

FF = auto_arimathon(series_id = 'FEDFUNDS'
,startdate = None
,enddate = None
,units = 'lin'
,freq = 'm'
,agg_method = 'eop'
,column_name = 'PPI'
,arima_freq = 12)

WTI = auto_arimathon(series_id = 'DCOILWTICO'
,startdate = None
,enddate = None
,units = 'lin'
,freq = 'm'
,agg_method = 'eop'
,column_name = 'PPI'
,arima_freq = 12)

data = FredDataPull(series_id_list = ['CPIAUCSL', 'PPIFIS', 'FEDFUNDS', 'DCOILWTICO']
,ob_start = None
,ob_end = None
,units = 'lin'
,frequency = 'm'
,aggregation_method = 'eop')
data.dropna(inplace = True)
data.reset_index(inplace = True)

df = data.dropna().set_index('SeriesDate')
df['year'] = df.index.year
df['month'] = df.index.month
y = np.array(df['CPIAUCSL'])

exog = np.array(df[['PPIFIS', 'FEDFUNDS', 'DCOILWTICO']])

full_model = auto_arima(y, d=1, D=1, max_p=12, max_q=12,
max_P=12, max_Q=12, max_d=12, max_D=12,
max_order=12, m=12, seasonal=True,
error_action='ignore',suppress_warnings=True
, exogenous = exog
#,n_jobs = -1
)

print(full_model.summary());

exog_data = {'PPIFIS': PPI,
'FEDFUNDS': FF,
'DCOILWTICO': WTI
}

exog_df = pd.DataFrame(exog_data)
dt_index = pd.date_range(start=latest_date, periods=12, freq='MS')
exog_df['SeriesDate'] = dt_index
exog_df.set_index('SeriesDate', inplace = True)
exog = np.array(exog_df[['PPIFIS', 'FEDFUNDS', 'DCOILWTICO']])
periods = 12
preds = full_model.predict(n_periods=12, exogenous = exog)
exog_df['PredCPI'] = preds
exog_df = exog_df[['PPIFIS', 'FEDFUNDS', 'DCOILWTICO', 'PredCPI']]
exog_df.columns = ['PPIFIS', 'FEDFUNDS', 'DCOILWTICO', 'CPIAUCSL']
exog_df

df = df[['PPIFIS', 'FEDFUNDS', 'DCOILWTICO', 'CPIAUCSL']]

full_df = pd.concat([df, exog_df], axis=1)
df_grouped = full_df.groupby(full_df.columns, axis= 1)
df_merged = df_grouped.first()
df_merged.tail(13);


df_merged['CPI_12moPrev'] = df_merged['CPIAUCSL'].shift(12)
df_merged['Pred_CPI_Cng'] = df_merged['CPIAUCSL'] - df_merged['CPI_12moPrev']
df_merged['PredYoYInflation'] = (df_merged['Pred_CPI_Cng'] / df_merged['CPI_12moPrev'])*100
final_df = df_merged.tail(12)[['CPIAUCSL', 'PredYoYInflation']]
final_df.columns = ['Predicted CPI', 'Predicted YoY %']
final_df;

mask = df_merged.index < pd.to_datetime(latest_date)

fig, (ax1, ax2) = plt.subplots(2, 1, figsize=[24, 16])

df_merged.PredYoYInflation[mask].plot(linestyle='-', linewidth=3, color='#E24A33', ax=ax1)
df_merged.PredYoYInflation[~mask].plot(linestyle='--', linewidth=3, color='#348ABD', ax=ax1)

ax1.set_title("Inflation Prediction\n" , fontsize=14)
ax1.set_xlabel('')
ax1.set_ylabel('\nCPI YoY Change\n', fontsize=14)
ax1.tick_params(axis='both', which='major', labelsize=12)
ax1.legend(['Actual YoY Inflation', 'Predicted YoY Inflation'], fontsize=10)
ax1.grid(axis='x')

df_merged_recent = df_merged[df_merged.index >= chart_start_date]
mask = df_merged_recent.index < pd.to_datetime(latest_date)
df_merged_recent.PredYoYInflation[mask].plot(linestyle='-', linewidth=3, color='#E24A33', ax=ax2)
df_merged_recent.PredYoYInflation[~mask].plot(linestyle='--', linewidth=3, color='#348ABD', ax=ax2)

ax2.set_xlabel('Date\n', fontsize=14)
ax2.set_ylabel('CPI YoY Change\n', fontsize=12)
ax2.tick_params(axis='both', which='major', labelsize=12)
ax2.grid(axis='x')
plt.savefig('CPI.jpg')

end = timeit.default_timer()
print('Time elapsed (min): ', (end - start)/60)
 
Jan 24, 2004
56,026
17,370
113
Bud, I'm going to share this with you and only you - no one else look!


import timeit
start = timeit.default_timer()

from fredapi import Fred
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import time, scipy.stats
import datetime as dt
from scipy.interpolate import interp1d
from sklearn.metrics import mean_squared_error
import statsmodels.formula.api as smf
import statsmodels.api as sm
from statsmodels.tsa.seasonal import seasonal_decompose
from log_progress import *
from sklearn.model_selection import train_test_split
import inspect
import matplotlib.pyplot as plt
import statsmodels.api as sm
from scipy import stats
from pmdarima import auto_arima
from pmdarima.arima import auto_arima
import warnings

from statsmodels.tools.sm_exceptions import ConvergenceWarning
warnings.simplefilter('ignore', ConvergenceWarning)

fred = Fred(api_key=<FRED api key>)
pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 999)

import matplotlib.style as style
style.use('fivethirtyeight')

print('(_)_)IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIID')

import warnings
warnings.filterwarnings("ignore", category=FutureWarning)
def FredDataPull(series_id_list, ob_start, ob_end, units, frequency, aggregation_method):
all_data = {'SeriesDate':[], 'SeriesID':[],'Measure':[]}
for series_id in log_progress(series_id_list, every = 1):
df = pd.DataFrame(fred.get_series(series_id
,observation_start = ob_start
,observation_end = ob_end
,units = units
,frequency = frequency
,aggregation_method = aggregation_method
)

,columns=['Measure'])
time.sleep(1)
[idx.strftime('%Y-%m-%d') for idx in df.index]
df = df.reset_index()
df.columns = ['SeriesDate', 'Measure']
for items in df.values:
all_data['SeriesDate'].append(items[0])
all_data['Measure'].append(items[1])
all_data['SeriesID'].append(series_id)
df = pd.DataFrame(all_data)
df_pivot = df.pivot(columns = 'SeriesID', index='SeriesDate', values='Measure')
return df_pivot

def auto_arimathon(series_id, startdate, enddate, units, freq, agg_method, column_name, arima_freq):
data = FredDataPull(series_id_list = [series_id]
,ob_start = startdate
,ob_end = enddate
,units = units
,frequency = freq
,aggregation_method = agg_method)
data.dropna(inplace = True)
data.reset_index(inplace = True)
data.columns = ['SeriesDate', column_name]
df = data.dropna().set_index('SeriesDate')
y = np.array(df[column_name])

full_model = auto_arima(y, d=1, D=1, max_p=7, max_q=7,
max_P=7, max_Q=7, max_d=7, max_D=7,
max_order=7, m=arima_freq, seasonal=True,
error_action='ignore',suppress_warnings=True
#, exogenous = exog
#,n_jobs = -1
)

print(full_model.summary())

periods = 12
preds = full_model.predict(n_periods=12)
return preds
print('\n',preds)

def control_chart(series_id, startdate, enddate, series_units,series_freq, agg_method, sigma):
df = FredDataPull(series_id_list = [series_id]
,ob_start = startdate
,ob_end = enddate
,units = series_units
,frequency = series_freq
,aggregation_method = agg_method)
df.dropna(inplace = True)

mean = df[series_id].mean()
std = df[series_id].std()

upper_bound = mean + (sigma * std)
lower_bound = mean - (sigma * std)


fig, ax = plt.subplots(figsize=(16, 9))
df[series_id].plot(ax=ax, color='blue', linewidth=2)
ax.axhline(df[series_id].mean(), color='black', linewidth=1)
ax.fill_between(df.index, upper_bound, lower_bound, color='white')
ax.set_xlabel('Date')
ax.set_ylabel(series_id)
ax.grid(False)
plt.title('Control Chart - '+str(series_id), fontsize = 12)
plt.show();

chart_start_date = '2022-01-01'
next_date = '2023-07-01'

PPI = auto_arimathon(series_id = 'PPIFIS'
,startdate = None
,enddate = None
,units = 'lin'
,freq = 'm'
,agg_method = 'eop'
,column_name = 'PPI'
,arima_freq = 12)

FF = auto_arimathon(series_id = 'FEDFUNDS'
,startdate = None
,enddate = None
,units = 'lin'
,freq = 'm'
,agg_method = 'eop'
,column_name = 'PPI'
,arima_freq = 12)

WTI = auto_arimathon(series_id = 'DCOILWTICO'
,startdate = None
,enddate = None
,units = 'lin'
,freq = 'm'
,agg_method = 'eop'
,column_name = 'PPI'
,arima_freq = 12)

data = FredDataPull(series_id_list = ['CPIAUCSL', 'PPIFIS', 'FEDFUNDS', 'DCOILWTICO']
,ob_start = None
,ob_end = None
,units = 'lin'
,frequency = 'm'
,aggregation_method = 'eop')
data.dropna(inplace = True)
data.reset_index(inplace = True)

df = data.dropna().set_index('SeriesDate')
df['year'] = df.index.year
df['month'] = df.index.month
y = np.array(df['CPIAUCSL'])

exog = np.array(df[['PPIFIS', 'FEDFUNDS', 'DCOILWTICO']])

full_model = auto_arima(y, d=1, D=1, max_p=12, max_q=12,
max_P=12, max_Q=12, max_d=12, max_D=12,
max_order=12, m=12, seasonal=True,
error_action='ignore',suppress_warnings=True
, exogenous = exog
#,n_jobs = -1
)

print(full_model.summary());

exog_data = {'PPIFIS': PPI,
'FEDFUNDS': FF,
'DCOILWTICO': WTI
}

exog_df = pd.DataFrame(exog_data)
dt_index = pd.date_range(start=latest_date, periods=12, freq='MS')
exog_df['SeriesDate'] = dt_index
exog_df.set_index('SeriesDate', inplace = True)
exog = np.array(exog_df[['PPIFIS', 'FEDFUNDS', 'DCOILWTICO']])
periods = 12
preds = full_model.predict(n_periods=12, exogenous = exog)
exog_df['PredCPI'] = preds
exog_df = exog_df[['PPIFIS', 'FEDFUNDS', 'DCOILWTICO', 'PredCPI']]
exog_df.columns = ['PPIFIS', 'FEDFUNDS', 'DCOILWTICO', 'CPIAUCSL']
exog_df

df = df[['PPIFIS', 'FEDFUNDS', 'DCOILWTICO', 'CPIAUCSL']]

full_df = pd.concat([df, exog_df], axis=1)
df_grouped = full_df.groupby(full_df.columns, axis= 1)
df_merged = df_grouped.first()
df_merged.tail(13);


df_merged['CPI_12moPrev'] = df_merged['CPIAUCSL'].shift(12)
df_merged['Pred_CPI_Cng'] = df_merged['CPIAUCSL'] - df_merged['CPI_12moPrev']
df_merged['PredYoYInflation'] = (df_merged['Pred_CPI_Cng'] / df_merged['CPI_12moPrev'])*100
final_df = df_merged.tail(12)[['CPIAUCSL', 'PredYoYInflation']]
final_df.columns = ['Predicted CPI', 'Predicted YoY %']
final_df;

mask = df_merged.index < pd.to_datetime(latest_date)

fig, (ax1, ax2) = plt.subplots(2, 1, figsize=[24, 16])

df_merged.PredYoYInflation[mask].plot(linestyle='-', linewidth=3, color='#E24A33', ax=ax1)
df_merged.PredYoYInflation[~mask].plot(linestyle='--', linewidth=3, color='#348ABD', ax=ax1)

ax1.set_title("Inflation Prediction\n" , fontsize=14)
ax1.set_xlabel('')
ax1.set_ylabel('\nCPI YoY Change\n', fontsize=14)
ax1.tick_params(axis='both', which='major', labelsize=12)
ax1.legend(['Actual YoY Inflation', 'Predicted YoY Inflation'], fontsize=10)
ax1.grid(axis='x')

df_merged_recent = df_merged[df_merged.index >= chart_start_date]
mask = df_merged_recent.index < pd.to_datetime(latest_date)
df_merged_recent.PredYoYInflation[mask].plot(linestyle='-', linewidth=3, color='#E24A33', ax=ax2)
df_merged_recent.PredYoYInflation[~mask].plot(linestyle='--', linewidth=3, color='#348ABD', ax=ax2)

ax2.set_xlabel('Date\n', fontsize=14)
ax2.set_ylabel('CPI YoY Change\n', fontsize=12)
ax2.tick_params(axis='both', which='major', labelsize=12)
ax2.grid(axis='x')
plt.savefig('CPI.jpg')

end = timeit.default_timer()
print('Time elapsed (min): ', (end - start)/60)
Is that the secret location coordinates to all your truck stop glory holes? 😂