Updated - see end of story
REAL coffee. Mmmmmm. Ever since we started
running courses here, we've provided customers with superb coffee. Grind the beans as required, brew the coffee with freshly heated pure water and supply a choice of sugars and sweeteners for those who want such things.
Our first coffee machine had a water capacity enough to make 4 mugs of coffee. Beans had to be replenished every 10 mugs or so, and the coffee grounds cleared out about once in every 7. The drip tray needed to be emptied every 12.
Ever come across MTBF - "Mean Time Between Failure" calculations? You take the reciprocal of the sum of the reciprocals of each component failure frequency to calculate your overall failure frequency. Of in our example:
earth-wind-and-fire:~ grahamellis$ perl
print 1/( 1/4 + 1/10 + 1/7 + 1/12 )
1.73553719008264
earth-wind-and-fire:~ grahamellis$
This coffee machine needed servicing more frequently than every two mugs
Our current coffee machine is a commercial machine "That looks like it's suitable for a small but classy cafe" said my son Chris when he visited last weekend and he's right - it came with a table showing numbers of cups of coffee served daily, and prices we could charge, to make certain amounts of money. That bit's irellevant to us since we don't charge customers for coffee - it's free and available whenever it's wanted - but it just shows you.
The capacities of the new machine are much higher, but perhaps not as high as you might think. But that give us a new opportunity. It's called "preventitive maintainance" in the jargon of this article and it means that we can service the coffee machine overnight, and between coffee breaks, and be reassured that it's not going to be forever demanding attention.
Updated with the opening of our new training centre at Well House Manor .... We've installed a new coffee machine that's plumbed in to the mains, that has its own drain, and dumps its grounds into an enormous bin. The coffee hoppers are large too so we're a step further improved!
But the MTBF calculation is an excellent example, and so I've written another example - this time for use on our Ruby course which shows how operator overloading can be done in that language. The source code of the example is available on line, of course! (written 2005-01-20, updated 2006-12-03)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
R108 - Ruby - More Classes and Objects [656] Think about your design even if you don't use full UML - (2006-03-24)
[1217] What are factory and singleton classes? - (2007-06-04)
[1587] Some Ruby programming examples from our course - (2008-03-21)
[2292] Object Orientation in Ruby - intermediate examples - (2009-07-16)
[2601] Ruby - is_a? v instance_of? - what is the difference? - (2010-01-27)
[2603] Ruby objects - a primer - (2010-01-29)
[2604] Tips for writing a test program (Ruby / Python / Java) - (2010-01-29)
[2616] Defining a static method - Java, Python and Ruby - (2010-02-01)
[2620] Direct access to object variable (attributes) in Ruby - (2010-02-02)
[2623] Object Oriented Ruby - new examples - (2010-02-03)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2977] What is a factory method and why use one? - Example in Ruby - (2010-09-30)
[2980] Ruby - examples of regular expressions, inheritance and polymorphism - (2010-10-02)
[3142] Private and Public - and things between - (2011-01-22)
[3154] Changing a class later on - Ruby - (2011-02-02)
[3158] Ruby training - some fresh examples for string handling applications - (2011-02-05)
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole - (2011-04-23)
[3760] Why you should use objects even for short data manipulation programs in Ruby - (2012-06-10)
[3781] Private, Protected, Public in Ruby. What about interfaces and abstract classes in Ruby? - (2012-06-23)
[3782] Standard methods available on all objects in Ruby - (2012-06-23)
[4366] Changing what operators do on objects - a comparison across different programming languages - (2014-12-26)
[4504] Where does Ruby load modules from, and how to load from current directory - (2015-06-03)
[4550] Build up classes into applications sharing data types in Ruby - (2015-10-23)
[4551] Testing your new class - first steps with cucumber - (2015-10-23)
P202 - Perl Fundamentals [748] Getting rid of variables after you have finished with them - (2006-06-06)
[1312] Some one line Perl tips and techniques - (2007-08-21)
[1448] Question on division (Java) - Also Perl, PHP, Python ... - (2007-11-28)
[1726] Hot Courses - Perl - (2008-07-28)
[1826] Perl - Subs, Chop v Chomp, => v , - (2008-10-08)
[1946] Variable Types in Perl - (2008-12-15)
[2442] Variable storage - Perl, Tcl and Python compared - (2009-10-08)
[2832] Are you learning Perl? Some more examples for you! - (2010-06-27)
[2876] Different perl examples - some corners I rarely explore - (2010-07-18)
[3059] Object Orientation in an hour and other Perl Lectures - (2010-11-18)
[3102] AND and OR operators - what is the difference between logical and bitwise varieties? - (2010-12-24)
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java. - (2011-05-05)
[3329] Perl from basics - (2011-06-20)
[3398] Perl - making best use of the flexibility, but also using good coding standards - (2011-08-19)
[3542] What order are operations performed in, in a Perl expression? - (2011-12-07)
[3574] Perl functions such as chop change their input parameters - (2012-01-10)
[3917] BODMAS - the order a computer evaluates arithmetic expressions - (2012-11-09)
[4324] Learning to program - variables and constants - (2014-11-22)
G205 - Well House Consultants - Food and Drink. [36] Tesco at 5 - (2004-09-02)
[207] Canteen Dragon - (2005-02-09)
[211] Look after your staff and they'll look after you. AOL. - (2005-02-12)
[221] Lunchtime Drink - (2005-02-20)
[302] Dining full circle - (2005-05-06)
[456] Laying out a vegetarian lunch - (2005-10-05)
[1332] Melksham Hotel - Five Star Kitchen! - (2007-09-04)
[1843] How many cups of coffee? - (2008-10-17)
[1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
[2590] A healthy, local breakfast in Melksham - (2010-01-19)
[2591] Melksham Hotel, B and B or business accommodation? - (2010-01-20)
[2784] Course Lunches - (2010-05-27)
[3182] What we look for in a lunchtime cafe restaurant in Melksham - (2011-02-24)
[3199] Lunch for Melksham Businesses - (2011-03-11)
[3233] C / C++ Course Lunch - sitting out at the West End - (2011-04-07)
[3387] Eating out in Melksham - where we like for lunch. - (2011-08-11)
[4415] Buffet review - taking the price into account - (2015-02-05)
Some other Articles
Pink elephant and appreciationa popular bus numberLullWho am I?MTBF of coffee machinesThe elegance of PythonYour personal Google rankingMaximum number of trainees on a courseSkunk worksThe hunt for unique words