vault backup: 2025-08-01 12:17:14
This commit is contained in:
Vendored
+1
-1
@@ -8,6 +8,6 @@
|
|||||||
"useTab": false,
|
"useTab": false,
|
||||||
"alwaysUpdateLinks": true,
|
"alwaysUpdateLinks": true,
|
||||||
"tabSize": 2,
|
"tabSize": 2,
|
||||||
"vimMode": false,
|
"vimMode": true,
|
||||||
"promptDelete": false
|
"promptDelete": false
|
||||||
}
|
}
|
||||||
@@ -2,14 +2,21 @@
|
|||||||
id: 2025-07-18_estimating-isnt-engineering
|
id: 2025-07-18_estimating-isnt-engineering
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- anecdote
|
- type/anecdote
|
||||||
- estimating
|
- estimating
|
||||||
---
|
---
|
||||||
# Estimating Isn't Engineering
|
# Estimating Isn't Engineering
|
||||||
|
|
||||||
A peer recently expressed frustration to me
|
A peer recently expressed frustration to me
|
||||||
about the declining quality of construction drawings,
|
about the declining quality of construction drawings,
|
||||||
specifically how scope is often ~~required but not detailed~~.
|
specifically how systems are often missing details
|
||||||
|
necessary to price the scope definitively.
|
||||||
|
Specifically, they took issue with having to
|
||||||
|
"be both the estimator and the engineer".
|
||||||
|
This puzzled me because the examples they gave
|
||||||
|
sounded like stereotypical estimation problems.
|
||||||
|
|
||||||
|
%% TODO: Example %%
|
||||||
|
|
||||||
%%
|
%%
|
||||||
TODO: discussion based on the difference between engineering,
|
TODO: discussion based on the difference between engineering,
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- media
|
- type/media
|
||||||
---
|
---
|
||||||
# 314.28 Pull and Junction Boxes and Conduit Bodies.
|
# 314.28 Pull and Junction Boxes and Conduit Bodies.
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
277/480V BUSS ROOM TO 480-SWBD-1 - (4000A)
|
|
||||||
480-SWBD-1 TO FP-SVC - 225.4C
|
|
||||||
FP-SVC TO FPC - 225.3C
|
|
||||||
|
|
||||||
277/480V BUSS ROOM TO 480-SWBD-2 - (3000A)
|
|
||||||
|
|
||||||
|
|
||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- guide
|
- type/guide
|
||||||
- occupational
|
- occupational
|
||||||
---
|
---
|
||||||
# Accubid Setup
|
# Accubid Setup
|
||||||
|
|||||||
@@ -3,7 +3,9 @@ id:
|
|||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- automation
|
- automation
|
||||||
|
- estimating
|
||||||
- software
|
- software
|
||||||
|
- type/idea
|
||||||
---
|
---
|
||||||
# Assembly Objects
|
# Assembly Objects
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
id:
|
||||||
|
aliases: []
|
||||||
|
tags:
|
||||||
|
- automation
|
||||||
|
- software
|
||||||
|
- type/idea
|
||||||
|
---
|
||||||
|
# Automating PDF Annotation
|
||||||
|
|
||||||
|
## Extract Bluebeam Markups
|
||||||
|
|
||||||
|
Right now I'm exporting Bluebeam markups to csv before processing,
|
||||||
|
however if I converted to the code to extract the markups directly with MuPDF.Net
|
||||||
|
as I've managed before with itext, that could save a step.
|
||||||
+3
-2
@@ -1,9 +1,10 @@
|
|||||||
---
|
---
|
||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- occupational
|
|
||||||
- automation
|
- automation
|
||||||
|
- occupational
|
||||||
|
- type/idea
|
||||||
---
|
---
|
||||||
# Award Analysis
|
# Award Analysis
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
id: construction-estimating-using-excel
|
id: construction-estimating-using-excel
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- media-commentary
|
- type/media-commentary
|
||||||
---
|
---
|
||||||
# *Construction Estimating Using Excel*
|
# *Construction Estimating Using Excel*
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- guide
|
- type/guide
|
||||||
- occupational
|
- occupational
|
||||||
---
|
---
|
||||||
# Design Build Budget
|
# Design Build Budget
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
id: electrical-estimating-methods
|
id: electrical-estimating-methods
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- media-commentary
|
- type/media-commentary
|
||||||
---
|
---
|
||||||
# *Electrical Estimating Methods*
|
# *Electrical Estimating Methods*
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
id: electrical-estimators-manual
|
id: electrical-estimators-manual
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- media-commentary
|
- type/media-commentary
|
||||||
---
|
---
|
||||||
# *Electrical Estimators Manual*
|
# *Electrical Estimators Manual*
|
||||||
|
|
||||||
|
|||||||
+16
-19
@@ -6,14 +6,19 @@ tags:
|
|||||||
---
|
---
|
||||||
# Electrical
|
# Electrical
|
||||||
|
|
||||||
|
## Info
|
||||||
|
|
||||||
|
### Lighting Control
|
||||||
|
|
||||||
|
By PDI convention, [child:: [[lighting-controls]]] are generally "Electrical", not "Lighting".
|
||||||
|
|
||||||
## Sequence
|
## Sequence
|
||||||
|
|
||||||
### 1. Estimate preparation
|
### 1. Estimate preparation
|
||||||
|
|
||||||
2. Read about the project specifications and construction type
|
1. Read about the project specifications and construction type
|
||||||
3. Locate Equipment Schedules
|
2. Locate Equipment Schedules
|
||||||
|
3. Device specs (Decora or Standard)
|
||||||
4. Device specs (Decora or Standard)
|
|
||||||
|
|
||||||
### 2. Takeoff
|
### 2. Takeoff
|
||||||
|
|
||||||
@@ -27,26 +32,14 @@ tags:
|
|||||||
> For designations with existing takeoffs, Right-Click > `Empty Designation`.
|
> For designations with existing takeoffs, Right-Click > `Empty Designation`.
|
||||||
> The build process can then be completed anew.
|
> The build process can then be completed anew.
|
||||||
|
|
||||||
### 3. Extension (Review and Checking)
|
#### Mechanical Connections
|
||||||
|
|
||||||
1. Count Car chargers and location
|
##### CU/IP
|
||||||
|
|
||||||
## Takeoff
|
|
||||||
|
|
||||||
### Lighting Control
|
|
||||||
|
|
||||||
By PDI convention, [child:: [[lighting-controls]]] are generally "Electrical", not "Lighting".
|
|
||||||
|
|
||||||
### Receptacles
|
|
||||||
|
|
||||||
### Mechanical Connections
|
|
||||||
|
|
||||||
#### CU/IP
|
|
||||||
|
|
||||||
* Units Condensing Unit
|
* Units Condensing Unit
|
||||||
* Mechanical Connection
|
* Mechanical Connection
|
||||||
|
|
||||||
#### Trash Chute
|
##### Trash Chute
|
||||||
|
|
||||||
Horizontal:
|
Horizontal:
|
||||||
* Check if shown on power drawings as mech connection
|
* Check if shown on power drawings as mech connection
|
||||||
@@ -57,3 +50,7 @@ Vertical (Riser):
|
|||||||
* Uncheck Link 'Enable Livecount'
|
* Uncheck Link 'Enable Livecount'
|
||||||
* Takeoff in Typical
|
* Takeoff in Typical
|
||||||
* Length = average floor to floor height
|
* Length = average floor to floor height
|
||||||
|
|
||||||
|
### 3. Extension (Review and Checking)
|
||||||
|
|
||||||
|
1. Count Car chargers and location
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
id:
|
||||||
|
aliases: []
|
||||||
|
tags:
|
||||||
|
- automation
|
||||||
|
- estimating
|
||||||
|
- software
|
||||||
|
- type/idea
|
||||||
|
---
|
||||||
|
# Estimating as Code
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
Organizational info (items, assemblies) as submodules.
|
||||||
|
Solves database conflicts by pinning estimates to a commit.
|
||||||
+1
-1
@@ -3,7 +3,7 @@ id: excel-macros
|
|||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- software
|
- software
|
||||||
- guide
|
- type/guide
|
||||||
---
|
---
|
||||||
# Excel Macros
|
# Excel Macros
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ aliases: []
|
|||||||
tags:
|
tags:
|
||||||
- automation
|
- automation
|
||||||
- occupational
|
- occupational
|
||||||
|
- type/idea
|
||||||
---
|
---
|
||||||
# Feeder Verification Automation
|
# Feeder Verification Automation
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- guide
|
- type/guide
|
||||||
- occupational
|
- occupational
|
||||||
---
|
---
|
||||||
# Full Takeoff
|
# Full Takeoff
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
id:
|
||||||
|
aliases: []
|
||||||
|
tags:
|
||||||
|
- automation
|
||||||
|
- estimating
|
||||||
|
- software
|
||||||
|
- type/idea
|
||||||
|
---
|
||||||
|
# Functional Labor Factoring
|
||||||
|
|
||||||
|
calculate labor hours utilizing a comprehensive set of factors
|
||||||
|
not practical with traditional methods.
|
||||||
|
The use of this framework will provide:
|
||||||
|
|
||||||
|
* more accurate projections for project schedule,
|
||||||
|
* more insightful analysis of historical labor data, and
|
||||||
|
* a more rewarding estimating workflow.
|
||||||
|
|
||||||
|
For myself, and I suspect for many other estimators,
|
||||||
|
laboring is the most interesting and rewarding part of the job.
|
||||||
|
Discussions of human factors are far more engaging
|
||||||
|
than those of statistical analysis.
|
||||||
|
|
||||||
|
%%
|
||||||
|
TODO: discuss the necessity of comprehensive labor consumption insights
|
||||||
|
and visualizations which are not currently feasible
|
||||||
|
as an expectation of owners and contractors.
|
||||||
|
|
||||||
|
Estimators know that doubling crew won't double production,
|
||||||
|
but we must be able to offer evidence as such.
|
||||||
|
%%
|
||||||
|
|
||||||
|
Tables of labor factors given certain conditions
|
||||||
|
can be converted to functions using regressions.
|
||||||
|
|
||||||
|
## Going Further
|
||||||
|
|
||||||
|
Base labor units suggest a highly functional nature,
|
||||||
|
most sensitive to weight.
|
||||||
|
Greater understanding of this relationship would make practical
|
||||||
|
the prediction of labor of unstudied items.
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
```bibtex
|
||||||
|
@article{Hanna2018FactorsAL,
|
||||||
|
author = {Hanna, Awad S.},
|
||||||
|
title = {Factors Affecting Labor Productivity For Electrical Contractors},
|
||||||
|
subtitle = {A Factor Approach To Productivity Impact},
|
||||||
|
publisher = {Electrii International},
|
||||||
|
month = {September},
|
||||||
|
year = {2018},
|
||||||
|
pages = {83}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{Hanna2002BenchmarkingPI,
|
||||||
|
author = {Hanna, Awad S. and Peterson, Pehr and Lee, Min-Jae},
|
||||||
|
journal = {Journal of Construction Engineering and Management},
|
||||||
|
month = {7},
|
||||||
|
number = {4},
|
||||||
|
pages = {331--337},
|
||||||
|
title = {{Benchmarking productivity Indicators for Electrical/Mechanical Projects}},
|
||||||
|
volume = {128},
|
||||||
|
year = {2002},
|
||||||
|
doi = {10.1061/(asce)0733-9364(2002)128:4(331},
|
||||||
|
url = {https://doi.org/10.1061/(asce)0733-9364(2002)128:4(331)},
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
id: mike-holts-illustrated-guide-to-electrical-estimating
|
id: mike-holts-illustrated-guide-to-electrical-estimating
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- media-commentary
|
- type/media-commentary
|
||||||
---
|
---
|
||||||
# *Mike Holt's Illustrated Guide to Electrical Estimating*
|
# *Mike Holt's Illustrated Guide to Electrical Estimating*
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ tags:
|
|||||||
- automation
|
- automation
|
||||||
- occupational
|
- occupational
|
||||||
- software
|
- software
|
||||||
|
- type/idea
|
||||||
---
|
---
|
||||||
# Necessary Automation
|
# Necessary Automation
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ id:
|
|||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- occupational
|
- occupational
|
||||||
- media
|
- type/media
|
||||||
---
|
---
|
||||||
# NEW HIRE - ESTIMATOR
|
# NEW HIRE - ESTIMATOR
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ tags:
|
|||||||
---
|
---
|
||||||
# Portable Tools
|
# Portable Tools
|
||||||
|
|
||||||
|
Where practical, novel tools should prefer to use programs
|
||||||
|
that can be installed in user-space rather than system wide.
|
||||||
|
|
||||||
* pandoc
|
* pandoc
|
||||||
* miktex-portable.exe
|
* miktex-portable.exe
|
||||||
* w64devkit
|
* w64devkit
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
---
|
|
||||||
id:
|
|
||||||
aliases: []
|
|
||||||
tags:
|
|
||||||
- automation
|
|
||||||
- software
|
|
||||||
---
|
|
||||||
# Possible Automation
|
|
||||||
|
|
||||||
This file describes functionality that
|
|
||||||
|
|
||||||
* would confuse most people I attempted to explain it to
|
|
||||||
* would save little time overall
|
|
||||||
* is unlikely to work in a significant number of cases
|
|
||||||
|
|
||||||
Nonetheless I feel the need to write them somewhere.
|
|
||||||
|
|
||||||
## Travel Distance Calculation
|
|
||||||
|
|
||||||
The obvious answer is the (paid) google maps api.
|
|
||||||
there may be a free api somewhere, too.
|
|
||||||
But why deprive ourselves of a "fun" exercise?
|
|
||||||
|
|
||||||
1. Get coordinates of every municipality in Georgia
|
|
||||||
2. Get straight-line distance and heading from each to Macon
|
|
||||||
3. Manually enter google maps estimates for a couple dozen
|
|
||||||
4. Get a formula $T(d,θ)$ and calculate the rest
|
|
||||||
|
|
||||||
## Extract Bluebeam Markups from Pdf
|
|
||||||
|
|
||||||
Right now I'm exporting Bluebeam markups to csv before processing,
|
|
||||||
however if I converted to the code to extract the markups directly with MuPDF.Net
|
|
||||||
as I've managed before with itext, that could save a step.
|
|
||||||
|
|
||||||
## Panel Schedule Machine Learning
|
|
||||||
|
|
||||||
I have a fair number of labeled panel schedules from previous jobs
|
|
||||||
that would be ripe for training.
|
|
||||||
|
|
||||||
## Misc Web Scrapers
|
|
||||||
|
|
||||||
[#12 Stranded THHN 1000ft](https://www.homedepot.com/b/12/Stranded/1000-ft/12/1/N-5yc1vZ1z0np5dZ1z113htZ1z1uh20Z1z1uhk9/Ntk-elasticplus/Ntt-Thhn)
|
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
|
- type/idea
|
||||||
- automation
|
- automation
|
||||||
---
|
---
|
||||||
# PowerShell Document Conversion
|
# PowerShell Document Conversion
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
|
- type/idea
|
||||||
- automation
|
- automation
|
||||||
- occupational
|
- occupational
|
||||||
---
|
---
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- guide
|
- type/guide
|
||||||
- occupational
|
- occupational
|
||||||
next: setup-accubid
|
next: setup-accubid
|
||||||
---
|
---
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
id:
|
id:
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- encyclopedia
|
- type/encyclopedia
|
||||||
---
|
---
|
||||||
# Raceway Terms
|
# Raceway Terms
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ As such, it is generally understood as a binary, win/loss relationship.
|
|||||||
|
|
||||||
This model of discrete probability is ubiquitous of
|
This model of discrete probability is ubiquitous of
|
||||||
[[project-management-tm|Project Management™]],
|
[[project-management-tm|Project Management™]],
|
||||||
and is the sort assumed when using [[#risk registers].
|
and is the sort assumed when using risk registers.
|
||||||
|
|
||||||
> [!example]
|
> [!example]
|
||||||
> This scope of work presents a 1 in 10 chance of significant delay.
|
> This scope of work presents a 1 in 10 chance of significant delay.
|
||||||
@@ -24,11 +24,11 @@ where cost estimation only cares about the bottom line.
|
|||||||
|
|
||||||
It is generally not useful for construction cost estimation.
|
It is generally not useful for construction cost estimation.
|
||||||
Potential impacts sufficient to warrant documenting
|
Potential impacts sufficient to warrant documenting
|
||||||
should usually just be [[proposals#exclusions|excluded]].
|
should usually just be excluded.
|
||||||
|
|
||||||
Cost estimators usually understand risk in terms of continuous probability.
|
Cost estimators usually understand risk in terms of continuous probability.
|
||||||
|
|
||||||
The reality of cost estimation is that there are _no_ certain costs.
|
The reality of construction cost estimation is that there are _no_ certain costs.
|
||||||
Traditional construction estimates give a false impression of certainty
|
Traditional construction estimates give a false impression of certainty
|
||||||
because they operate on and return fixed values.
|
because they operate on and return fixed values.
|
||||||
With the most generous interpretation, they can be said to evaluate cost
|
With the most generous interpretation, they can be said to evaluate cost
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
id:
|
||||||
|
aliases: []
|
||||||
|
tags:
|
||||||
|
- automation
|
||||||
|
- estimating
|
||||||
|
- software
|
||||||
|
- type/idea
|
||||||
|
---
|
||||||
|
# Separating Estimating Concerns
|
||||||
|
|
||||||
|
## 1. Annotation
|
||||||
|
|
||||||
|
Annotation is documenting project scope as intended by its design.
|
||||||
|
This involves reconciling missing and conflicting requirements,
|
||||||
|
as well as erroneous and misplaced symbols.
|
||||||
|
|
||||||
|
This process is intended to be *unbiased*, without respect for
|
||||||
|
* industry knowledge
|
||||||
|
* contractor standard practices
|
||||||
|
|
||||||
|
The annotator is to describe the design scope
|
||||||
|
without adding any outside information.
|
||||||
|
|
||||||
|
### Output
|
||||||
|
|
||||||
|
The processes and tools for completing this step
|
||||||
|
would differ between design-build and plans-and-specs projects,
|
||||||
|
but the output would be identical in function.
|
||||||
|
|
||||||
|
This step encodes "measures" with "tags"
|
||||||
|
and describes the behavior of special tags
|
||||||
|
(e.g. structure height of each `Level`)
|
||||||
|
|
||||||
|
## ~~next step(s)~~
|
||||||
|
|
||||||
|
Define takeoff given counts from step 1.
|
||||||
|
|
||||||
|
```
|
||||||
|
LET wiring-devices 'default/wiring-devices/decora'
|
||||||
|
|
||||||
|
FOREACH MEASURE
|
||||||
|
WHERE 'type' IS 'device/receptacle/duplex' AND 'mounting' IS 'flush'
|
||||||
|
TAKEOFF 'DUPLEX REC - FLUSH IN METAL STUDS' FROM wiring-devices
|
||||||
|
```
|
||||||
|
|
||||||
|
## -1. Reporting
|
||||||
|
|
||||||
|
Build deliverables (proposals, BOM's)
|
||||||
@@ -22,4 +22,5 @@ whose main functions include:
|
|||||||
|
|
||||||
Suppose this company doubles in size
|
Suppose this company doubles in size
|
||||||
and these tasks can no longer be fulfilled by one employee.
|
and these tasks can no longer be fulfilled by one employee.
|
||||||
|
While it would be possible to hire another employee to share both roles,
|
||||||
Separation of Concerns dictates that the role should be split by function.
|
Separation of Concerns dictates that the role should be split by function.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
id: the-failure-of-risk-management
|
id: the-failure-of-risk-management
|
||||||
aliases: []
|
aliases: []
|
||||||
tags:
|
tags:
|
||||||
- media-commentary
|
- type/media-commentary
|
||||||
---
|
---
|
||||||
# *The Failure of Risk Management*
|
# *The Failure of Risk Management*
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ that X industry lacks the data to use quantitative models.
|
|||||||
### _Exsupero Ursus_
|
### _Exsupero Ursus_
|
||||||
|
|
||||||
Hubbard uses _exsupero ursus_ to describe the tendency of his detractors
|
Hubbard uses _exsupero ursus_ to describe the tendency of his detractors
|
||||||
to dismiss quantitative methods as inappropriate to their industry-specific risks.
|
to dismiss quantitative methods as inappropriate for their industry-specific risks.
|
||||||
|
|
||||||
> [!quote] Chapter 9 p.195
|
> [!quote] Chapter 9 p.195
|
||||||
> Suppose a car buyer had a choice between buying two nearly identical automobiles, Car A and Car B.
|
> Suppose a car buyer had a choice between buying two nearly identical automobiles, Car A and Car B.
|
||||||
|
|||||||
Reference in New Issue
Block a user